Reputation: 68240
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.
Upvotes: 5
Views: 1099
Reputation: 213060
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
Upvotes: 2