muttで複数のアカウントを簡単に設定するには?

muttで複数のアカウントを簡単に設定するには?

複数のアカウントでmuttを使用したいです。別のsmtpサーバーを使用してssmtp経由で電子メールを送信したいと思います。 1つは会社が提供する内部メール用(imapを使用)、もう1つは私の個人用メール用(gmail)です。

答え1

少なくとも mutt 1.5 では、send2-hook各メッセージの送信者アドレスに基づいて設定値を変更できます。ドキュメントから:

send2-hook後で実行され、send-hookメッセージの送信者アドレスに基づいて$ sendmail変数などのパラメータを設定するために使用できます。

自分で試したことはありませんが、Gmailアカウントからメールをダウンロードするために言及したssmtpとgetmailの組み合わせがうまくいくようです。クライアント側のメールをソートするためのprocmailを含めることもできます。

複数の送信者アドレスをより簡単に処理できるように、mutt設定に次のように設定しました。

alias f__1 Me <[email protected]>
alias f__2 Myself <[email protected]>
alias f__3 I <[email protected]>
macro compose <esc>f "<edit-from><kill-line>f__<tab><search>[email protected]<enter>"

これを完了したら、[作成]escape f画面をクリックするだけで送信者のアドレスを変更でき、デフォルトで私が最も使用しているアドレスに設定されます。部分的には、歴史的な理由でフォルダフックを使用して設定します。$smtp_urlただし、文書の内容によると、使用は簡単でなければなりませんsend2-hook

私が持っているものいいえこれを処理する簡単な方法は署名することです。フォルダフックを使用してフォルダごとに$signature値を設定できますが、これは私が得た(またはより正確には面倒な)最も近い値です。

答え2

Michael Kjörlingの回答のおかげで、それぞれ独自のSMTP設定を持つ複数のアカウントからMuttを送信できました。

最初はmsmtp構成です。これには素晴らしいものはなく、要件に応じて2つのアカウントのみが設定されます。文書

$ cat .msmtprc 
defaults
tls on
tls_trust_file [redacted]
logfile [redacted]
domain serverdomainexample.tech

account example
host smtp.example.com
port 587
auth on
from [email protected]
user [email protected]
password correct-horse-battery-staple

account example2
host smtp.example2.net
port 587
auth on
from [email protected]
user [email protected]
password correct-horse-battery-staple-2

account default : example

次にmutt構成です。

$ cat .mutt/muttrc
...
set sendmail      = '/usr/bin/msmtp'
set realname      = 'User'
set use_from      = 'yes'
set envelope_from = 'yes'
set from          = '[email protected]'
alternates          '([email protected])|([email protected])'
macro compose <esc>1 '<esc>f^UUser <[email protected]><enter>'
macro compose <esc>2 '<esc>f^UUser2 <[email protected]><enter>'
send2-hook '~e [email protected]' "set sendmail = '/usr/bin/msmtp -a example2'"
...

マクロを使用すると、メッセージ作成画面に自分の希望のアドレス番号を<esc>+#入力して送信するアドレスを選択できます。#

つまり
<esc>+1[email protected]
<esc>+2[email protected]

この行を使用して、muttはアドレスが一致していることをsend-hook2確認します。実行されると、このフラグで呼び出され、この時点でデフォルト設定の代わりにアカウント設定を使用します。Sender[email protected]
msmtp-a example2example2

関連情報