コマンドラインから電子メールを送信しようとすると、Mutt がサイレントに失敗する

コマンドラインから電子メールを送信しようとすると、Mutt がサイレントに失敗する

次のコマンドを使用して、コマンド ラインから mutt から電子メールを送信しようとしています。

mutt -F /my/path/to/muttrc -s "Hello" [email protected] < test.txt

しかし、何も起こりません。Mutt はエラーを表示しませんが、メールは送信されません。

コマンドを使用して対話型 mutt に入りmutt、そこから電子メールを送信すると、すべて正常に動作します。

私の muttrc では、次のように Gmail アカウントを設定しました。

account-hook    imaps://[email protected] 'set [email protected] imap_pass="password"'
folder-hook     'imaps://[email protected]' 'set folder=imaps://[email protected]/'
set folder=imaps://[email protected]/
mailboxes +INBOX
set spoolfile = +INBOX
folder-hook    imaps://[email protected] 'set smtp_url="smtps://a_user:[email protected]"'
folder-hook     'imaps://[email protected]' 'set [email protected]'
folder-hook    imaps://[email protected] 'set realname="A Real Name"'

set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
unset record
set timeout=15
set mail_check=60
set imap_keepalive = 900
unset imap_passive
set move = no
set sort = 'last-date-received'
set charset=utf-8
set locale=$LANG
send-hook "~f [email protected]" 'set signature="~/.mutt/signature"'
set editor = 'vim'

答え1

フォルダーフックでのみ smtp_url を設定しているようです。つまり、そのフォルダーを使用するときにのみ設定され、非対話型のコマンドライン方式を使用している場合は、実際にフォルダーにアクセスしようとしないため、smtp_url は設定されず、どの方法でメッセージを送信するかがわかりません。他の方法 (sendmail へのパイプなど) がデフォルトで設定され、失敗している可能性があります。

関連情報