Dovecot 経由の Postfix SASL 認証 - Postfix SQL クエリで SASL ログイン名を使用できますか?

Dovecot 経由の Postfix SASL 認証 - Postfix SQL クエリで SASL ログイン名を使用できますか?

私は を備えたメールサーバーを所有しておりpostfix、Debian buster 上で動作していますdovecotmysql

これまでのところすべて正常に動作していますが、SASL 認証のログイン名が受信者ドメインのユーザー部分と異なるシナリオを設定したいと思います。

例:

Login name used for SASL auth: myusername
Sender email address: [email protected]

dovecot でログイン名を変数として使用できるため、dovecot による認証は正常に機能します。

しかし、Postfixが実際にメールを送信する前に、送信者のアドレスが本当にログインしたユーザーのものであるかどうかを確認したいと思います。そこで、smtpd_sender_login_mapsmaster.cf 内の送信サービスへのオプション。mysql テーブルを指します。

  -o smtpd_sender_login_maps=proxy:mysql:/etc/postfix/mysql/sender-login-maps.cf

postfixのmysql-tableマニュアルによると(http://www.postfix.org/mysql_table.5.html) の場合、使用可能な変数は %s、%u、%d のみで、これらはすべて送信者アドレスに関連しています。つまり、

%s = [email protected]
%u = sender
%d = domain.com

元のSASLログイン名('私のユーザー名') を SQL クエリに含めることはできますか?

答え1

実際、この目的のために sasl auth ユーザー名にアクセスする必要はないことがわかりました。

ユーザー マニュアルによると、 smtpd_sender_login_mapssasl ユーザーが所有する電子メール アドレスを返すのではなく、送信者の電子メール アドレスを所有する sasl ユーザーを返す必要があります。

http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps

いずれの場合も、テーブル検索の結果は「見つかりません」か、コンマや空白で区切られた SASL ログイン名のリストのいずれかである必要があります。

このようなクエリでは、sasl ユーザー名は変数として必要ありません。

関連情報