コマンドラインがそのトリックを実行します(いくつかの構成を使用)。Googleアカウント認証を使用するように設定する必要があります(質問に「gmail」のタグを付けたので、プロバイダーだと思います)。
このサイトには、セットアップ方法の詳細があります。アカウントで2段階認証を使用する場合は、コマンドラインのアプリケーションパスワードを作成し、SASLパスワードを追加するときにそのトークンを使用します。
この設定は適切に機能しますが、添付ファイルを処理しません。ファイルを送信する必要がある場合は、おそらくメールGUIを使用するほうが簡単です。
しかし、あなたの問題は、メッセージを送信するためにプログラムを開きたくないということですよね?これは、ターミナルを開いているか、送信する必要があるときにターミナルを開く必要があるためです。しかし、電子メールの宛先アドレス、件名、テキストを入力するApplescriptを組み合わせて、シェルに直接バウンスして終了するのはかなり簡単です。これをユーザースクリプトフォルダーに入れ、Macがメニューバーにスクリプトを表示してすばやくアクセスできるように構成されていることを確認します。
2番目の編集:applescriptを更新して、もう少し効率的に動作させます。ここのコードを使用してメッセージ本文をホームディレクトリの一時ファイルに書き込み、次にcatを使用してファイルの内容を電子メールメッセージに読み込み、最後に一時ファイルを削除します。私はそれをテストしました、そして、それはオリジナルのスクリプトによって誤って扱われた文字でさえうまく働きます。
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