2010-10-21 12 views
5

Voglio creare una nuova posta con il client di posta predefinito e allegare un file automaticamente ad essa.MacOSX: nuova posta con allegato

Per creare una nuova mail a [email protected] con oggetto e il corpo foobar, posso effettuare le seguenti operazioni:

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

Come posso allegare un file ora?

Se ciò non è possibile in questo modo (con open), quali sono le mie alternative?

Preferirei una soluzione che funzioni in Java e nelle lingue native (C++, ObjC). Quindi, se c'è un modo tramite shell per fare ciò, ciò renderebbe tutto più semplice, in quanto è possibile generare un tale progresso.

Altrimenti dovrei ricorrere a qualche motore SMTP e scrivere solo un proprio mittente di posta.

risposta

1

È possibile farlo tramite AppleScript, ad es.

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 

Se non si dispone di un modo per eseguire AppleScript direttamente quindi è possibile utilizzare osascript tramite la riga di comando, ad esempio,

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 
+2

Se l'utente preferisce qualche altro client di posta, come Thunderbird, Mail potrebbe non essere completamente configurato e l'avvio di Mail potrebbe infastidire l'utente. – JWWalker

Problemi correlati