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"
<[email protected] on behalf of
[email protected]> 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
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode