sending email and file with mail client
Tom Glod
tom at makeshyft.com
Mon Feb 18 22:58:08 EST 2019
Terry, I learned so much from your answer, thanks for taking the time.
On Mon, Feb 18, 2019 at 5:38 PM Terry Judd via use-livecode <
use-livecode at lists.runrev.com> wrote:
> 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-bounces at lists.runrev.com on behalf of
> use-livecode at 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 at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list