LoginSignup
chiko-tyan
@chiko-tyan

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Postfix 複数のメールアドレスから送信したい

Q&AClosed

解決したいこと

Office365のメールアドレスを2つ使い、送信元アドレスに応じて
sasl認証ファイルを使い分けたいです。
知見をお持ちの方、解決方法を教えて下さい。

発生している問題・エラー

status=bounced
Access denied, banned sending IP [xxx.xxx.xxx.xxx]

編集したconfig

main.conf
relayhost = [smtp.office365.com]:ポート番号
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:sasl_password_mailA, hash:sasl_password_mailB
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = LOGIN
smtp_tls_security_level = may
sasl_password_mailA.
[smtp.office365.com]:ポート番号 メールアドレスA:パスワードA
sasl_password_mailB.
[smtp.office365.com]:ポート番号 メールアドレスB:パスワードB

自分で試したこと

メールアドレスAから送信すると、ステータスOKとなり送信できます。
メールアドレスBから送信すると、ステータス「bounced」となり送信できまません。

原因として、smtp_sasl_password_maps = の1つ目のsaslファイルしか有効になっていないような気がしています。
(実際に、smtp_sasl_password_maps = sasl_password_mailB,smtp_sasl_password_mapsAとするとメールアドレスBが送信可、メールアドレスAが送信不可となります)

こちらの現象について、解決策などありますでしょうか?
環境は以下の通りです。
・OS:CentOS7.9
・postfix:2.10.1

ご回答よろしくお願いいたします。

0

2Answer

sasl_password_maps でA,B二つを指定していますが、両方とも同じ宛先なので先に指定したファイルの内容にマッチしているのだと思います。

sasl_password_maps はリレーホストだけでなく、sender でも振り分けが出来るので

 [smtp.office365.com]:ポート番号

この部分を メールアドレスA, メールアドレスB にしてみてはいかがでしょう?

メールアドレスA   メールアドレスA:パスワードA
メールアドレスB   メールアドレスB:パスワードB

参考)
https://www.postfix.org/postconf.5.html#smtp_sasl_password_maps

2Like

Comments

  1. @chiko-tyan

    Questioner

    shigeokamotoさん

    ご回答ありがとうございます。
    なるほど、sender振り分けも可能なのですね。
    先ほどsasl_password_mapsを変更して試してみたところ、送信はできませんでしたがエラー内容が変わりました。
    status = bounced
    Client not authenticated to send mail.
    dsn=5.7.57

    dsn番号で検索してみました。
    「クライアントがメール送信を認証されていません -- これは、SMTP 認証に入力されたユーザー名および/またはパスワードが正しく入力されていないか、または Office 365 経由で送信する権限がないことを示します」

    ユーザ名/パスワードの違いは当てはまらないと思いますので、Office365の権限がないのでしょうか。
    この辺りもご存じであれば、お手数ですが教えていただけますでしょうか。

  2. ユーザーの認証情報が正しいとすると、そのユーザー(あるいは組織で)の設定でSMTP AUTHは許可されていますか?
    もし、同じ設定でメールアドレスAは送信可能なもののメールアドレスBはエラーになるということであれば、ExchangeOnlineの設定かもしれません。
    https://learn.microsoft.com/ja-jp/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission#use-the-microsoft-365-admin-center-to-enable-or-disable-smtp-auth-on-specific-mailboxes

  3. @chiko-tyan

    Questioner

    追記ありがとうございます。返信が遅くなりすみません。

    私の方で引き続き調査をした結果、sender_dependent_authenticationが有効になっておりませんでした。
    以下のサイトも参考に、現在も検証を進めております。
    https://gist.github.com/zmwangx/2c56aa32be68daf48c2f

    新たな事象など見つかればこちらに追記いたします。

あれからpostfixの設定を見直し、sender_dependent_authentication
を用いることで複数送信元アドレスがある場合でもsaslファイルを1つにまとめる
ことができました。
こちらでクローズとさせていただきます。

1Like

Your answer might help someone💌