Die Befehlszeile erledigt den Trick (mit einigen Konfigurationen). Sie müssen es einrichten, um die Authentifizierung Ihres Google-Kontos zu verwenden (ich habe festgestellt, dass Sie die Frage mit "Google Mail" markiert haben, also gehe ich davon aus, dass dies Ihr Anbieter ist).
Diese Seite enthält Details zum Einrichten. Wenn Sie mit Ihrem Konto eine zweistufige Authentifizierung verwenden, erstellen Sie einfach ein Anwendungskennwort für die Befehlszeile und verwenden Sie dieses Token, wenn Sie ein SASL-Kennwort hinzufügen.
Dieses Setup funktioniert gut, kann jedoch keine Anhänge verarbeiten. Wenn Sie eine Datei senden müssen, fällt es Ihnen wahrscheinlich leichter, die Mail-GUI zu verwenden.
Ihr Problem ist jedoch, dass Sie kein Programm zum Senden einer Nachricht öffnen möchten, richtig? Dafür müssen Sie das Terminal geöffnet haben oder das Terminal öffnen, wenn Sie senden müssen. Es wäre jedoch ziemlich einfach, ein Applescript zusammenzustellen, das Sie zur Eingabe der Zieladresse, des Betreffs und des E-Mail-Textes auffordert, und dieses dann direkt an die Shell weiterzuleiten und zu beenden. Werfen Sie dies in Ihren Benutzerskriptordner und stellen Sie sicher, dass Ihr Mac so konfiguriert ist, dass Skripte in der Menüleiste für den schnellen Zugriff angezeigt werden.
Zweite Bearbeitung: Das Applescript wurde aktualisiert, um ein wenig effizienter zu arbeiten. verwendet den Code von hier , um den Nachrichtentext in eine temporäre Datei in Ihrem Home-Verzeichnis zu schreiben, verwendet dann einfach cat, um den Dateiinhalt in eine E-Mail-Nachricht zu lesen, und löscht schließlich die temporäre Datei. Ich habe es getestet und es funktioniert auch mit Zeichen, die vom ursprünglichen Skript falsch behandelt wurden.
try
display dialog "Send email to:" default answer "email@domain.com"
set theEmail to (text returned of result)
if theEmail is "email@domain.com" then error "No recipient specified!"
display dialog "Email subject:" default answer "Subject"
set theSubject to (text returned of result)
if theEmail is "Subject" then error "No subject specified!"
display dialog "Message:" default answer ¬
"Enter message text" & return & return & return & return
set theBody to (text returned of result)
set this_file to (((path to home folder) as text) & "message.tmp")
my write_to_file(theBody, this_file, true)
do shell script "cd ~/; cat message.tmp | mail -s \"" & theSubject & "\" " & theEmail & "; rm message.tmp"
on error theError
display dialog theError buttons {"Quit"} default button 1
end try
-- this subroutine saves input as a text file
on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
try
set the target_file to the target_file as text
set the open_target_file to ¬
open for access file target_file with write permission
if append_data is false then ¬
set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
close access the open_target_file
return true
on error
try
close access file target_file
end try
return false
end try
end write_to_file