Komut satırı hile yapacak (bazı yapılandırmalarla). Google hesabı kimlik doğrulamanızı kullanmak için ayarlamanız gerekir (soruyu "gmail" olarak etiketlediğinizi belirttim, bu yüzden sağlayıcınız olduğunu varsayalım).
Bu sitenin nasıl ayarlanacağıyla ilgili ayrıntılar var. Hesabınızla iki adımlı kimlik doğrulaması kullanıyorsanız, komut satırı için bir uygulama şifresi oluşturun ve SASL şifresini eklerken bu belirteci kullanın.
Bu kurulum iyi çalışıyor ancak ekleri işlemez. Bir dosya göndermeniz gerekiyorsa, Posta GUI'sini kullanarak muhtemelen daha kolay zaman geçireceksiniz.
Ancak sorununuz, mesaj göndermek için bir program açmak istememenizdir, değil mi? Çünkü bu, Terminal'i açmanızı veya göndermeniz gerektiğinde Terminal'i açmanızı gerektirir. Ancak, sizi hedef adresi, konu ve e-posta metnini soracak bir Applescript'i bir araya getirmek, ardından bunu doğrudan kabuğa geri döndürmek ve çıkmak için oldukça kolay olacaktır. Bunu kullanıcı komut dosyaları klasörünüze atın ve Mac'inizin hızlı erişim için menü çubuğunda Komut Dosyaları gösterecek şekilde yapılandırıldığından emin olun.
İkinci Düzenleme: Biraz daha verimli çalışmak için el yazısını güncelledi; buradan mesaj gövdesini ana dizininizdeki bir geçici dosyaya yazmak için kodu kullanır , daha sonra dosya içeriğini bir e-posta iletisine okumak için cat'ı kullanır ve son olarak geçici dosyayı siler. Test ettim ve orijinal komut dosyası tarafından yanlış kullanılan karakterlerle bile iyi çalışıyor.
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