Hi Hershel - If it's a desktop app then you can control the user's email app 
using either applescript (MacOS) or VBscript (Windows). I've included some 
template scripts below to get you started (assuming your users have either Mail 
or Outlook). I store these in custom properties, use merge to replace the 
quoted variables and the do as applescript or vbscript depending on what 
platform you are targeting.

Couple of gotchas to do with line breaks in 'theBody' text...
Pretty sure that Apple Mail doesn't know what to do with html (at least not 
using the script below)
Outlook expects html formatted text so if you're passing plain text you'll need 
to replace CR with '<br>'
If you are using VBscript then you need to do something like...

put quote before theBody
replace CR with (quote&" & VbCrLf & _" & return & quote) in theBody
put quote after theBody

Hope that helps,

Terry...


Mail app (MacOS):

tell application "Mail"
        activate
        set messageSubject to "[[theSubject]]"
        set messageBody to "[[theBody]]"
        set recipientName to "[[theRecipientName]]"
        set recipientAddress to "[[theRecipientAddress]]"
        set attachmentPath to "[[theFileName]]"
        set theMessage to make new outgoing message with properties 
{visible:true, subject:messageSubject, content:messageBody}
        tell theMessage
                make new to recipient with properties {name:recipientName, 
address:recipientAddress}
                make new attachment at the end of theMessage with properties 
{file name:attachmentPath}
        end tell
        delay 1
        send theMessage
end tell

Outlook app (MacOS):

tell application "Microsoft Outlook"
        activate
        set messageSubject to "[[theSubject]]"
        set messageBody to "[[theBody]]"
        set recipientName to "[[theRecipientName]]"
        set recipientAddress to "[[theRecipientAddress]]"
        set attachmentPath to "[[theFileName]]"
        set theMessage to make new outgoing message with properties 
{subject:messageSubject, content:messageBody}
        make new recipient at theMessage with properties {email 
address:{name:recipientName, address:recipientAddress}}
        make new attachment at the end of theMessage with properties 
{file:attachmentPath}
        send theMessage
end tell

Outlook app (Windows):

Set MyApp = CreateObject("Outlook.Application")
Set MyItem = MyApp.CreateItem(0)
With MyItem
.To = "[[theRecipientAddress]]"
.Subject = "[[theSubject]]"
.Body = [[theBody]]
.Attachments.Add("[[theFileName]]")
.Send
End With

On 19/2/19, 8:00 am, "use-livecode on behalf of Hershel F via use-livecode" 
<use-livecode-boun...@lists.runrev.com on behalf of 
use-livecode@lists.runrev.com> wrote:

    Hi every one, wondering how i can send an email with an attachment 
(invoice) direct from my app with user’s email client (mail)?
    using the revMail only give the possibility for contents of fields, any 
work arounds or printing into a fld then putting the fld into the email?
    
    Thanks in advanced. HershelF
    _______________________________________________
    use-livecode mailing list
    use-livecode@lists.runrev.com
    Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:
    http://lists.runrev.com/mailman/listinfo/use-livecode
    

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to