Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MacOSX: new mail with attachment

Tags:

email

macos

smtp

I want to create a new mail with the default mail client and attach a file automatically to it.

To create a new mail to [email protected] with subject foo and body bar, I can do the following:

open "mailto:[email protected]?subject=foo&body=bar"

How can I attach a file now?

If this is not possible this way (with open), what are my alternatives?

I would prefer a solution which works in Java as well as in native languages (C++, ObjC). So if there is a way via shell to do this, this would make it easy as I can just spawn such a progress.

Otherwise I would have to fall back to some SMTP engine and just write an own small mail sender.

like image 332
Albert Avatar asked Nov 05 '22 07:11

Albert


1 Answers

You can do this via AppleScript, e.g.

tell application "Mail"
    set msg to make new outgoing message with properties {subject:"Test", visible:true}
    tell msg to make new to recipient with properties {address:"[email protected]"}
    tell msg to make new attachment with properties {file name:"Macintosh HD:Users:me:my_file.txt" as alias}
end tell

If you don't have any way to run AppleScript directly then you can use osascript via the command line, e.g.

osascript <<EOF
tell application "Mail"
    set msg to make new outgoing message with properties {subject:"Test", visible:true}
    tell msg to make new to recipient with properties {address:"[email protected]"}
    tell msg to make new attachment with properties {file name:"Macintosh HD:Users:me:my_file.txt" as alias}
end tell
EOF
like image 59
Paul R Avatar answered Nov 09 '22 13:11

Paul R