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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With