web-dev-qa-db-ja.com

Frome-mailaddressに基づいてmuttでSMTP認証を変更する

私は mutt を電子メールリーダーとして使用し、 nbSMTP をSMTPクライアントとして使用しています。半ダースのアカウントからの電子メールをチェックして、maildir内のその他のフォルダーに分類します。一部のフォルダはアカウント固有ですが、1つのフォルダに複数のアカウントからの電子メールが含まれているものもあります

多くのアカウントは Gmail を経由しています。これには、ユーザーが自分のアドレスではないアドレスから送信できないという不幸なセキュリティ機能があります。したがって、nbSTMPに[email protected]として認証し、From: [email protected]ヘッダー付きの電子メールを送信するように指示すると、GmailはヘッダーをFrom: [email protected]に書き換えます。

アカウント固有のフォルダーにフォルダーフックを追加することで、これをある程度回避しました。これらのフォルダーの1つに切り替えると、フックはsendmailコマンドを変更して、nbSMTPに適切なコマンドライン引数を渡します。

folder-hook =work 'set from="[email protected]"'
folder-hook =work 'set sendmail="/usr/bin/nbsmtp -f [email protected] -U work -P password"'

ただし、これは複数のアカウントからのメールを保持するフォルダでは機能しません。また、たとえば次のようにしようとすると機能しません。 workフォルダーに切り替えていない場合(フォルダーフックが実行されていないため)、[email protected]から電子メールを送信します。 送信メールのFromヘッダーに基づいてnbSMTPが認証する方法を制御する方法はありますか?nbSMTPはないと思いますそれ自体を処理する柔軟性があるので、現在使用しているfolder-hookメソッドのようなmutt構成である必要があると確信していますが、私は理解していません。どうやってするの。必要に応じて、SMTPクライアントを切り替えることができます。必要な機能を提供する別のクライアントがある場合は、

9
Michael Mrozek

Esmtpに切り替えることができますが、それは非常に簡単です。

identity [email protected]
        hostname smtp.googlemail.com:25
        username "[email protected]"
        password "secret"
        starttls enabled
        default

identity [email protected]
        hostname smtp.googlemail.com:25
        username "[email protected]"
        password "evenmoresecret"
        starttls enabled
        default
4
fschmitt