web-dev-qa-db-ja.com

Office365へのPostfixリレー

LinuxボックスにPostfixサーバーをセットアップしてすべてのメールをOffice365(Exchange、Microsoftがホスト)のメールサーバーにリレーしようとしていますが、送信アドレスに関するエラーが発生し続けます。

BB338140DC1:to = relay = pod51010.Outlook.com [157.56.234.118]:587、delay = 7.6、delays = 0.01/0/2.5/5.1、dsn = 5.7.1、status = bounced(Host pod51010.Outlook.com [ 157.56.234.118]言った:550 5.7.1クライアントには、この送信者として送信する権限がありません(DATAコマンドの終了に応じて))

Office 365では、MAIL FROMおよびFrom:ヘッダーの送信アドレスが、認証に使用されるアドレスと同じである必要があります。私はこれを機能させるために設定で考えられるすべてのものを試しました。私のpostconf -n:

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = 127.0.0.1
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination = xxxxx, localhost.localdomain, localhost
myhostname = localhost
mynetworks = 127.0.0.0/8
recipient_delimiter = +
relay_domains = our.doamin
relayhost = [pod51010.Outlook.com]:587
sender_canonical_classes = envelope_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

/etc/postfix/sender_canonical

www-data                [email protected]
root                    [email protected]
www-data@localhost      [email protected]
root@localhost          [email protected]

また、sasl_passwdは正しい資格情報に設定されます(swaksを使用して複数回テストしました)。認証は機能し、fromヘッダーが正しい場合にメッセージを送信します(swaks、動作します)

電子メールはPHPから送信されているため、php.iniのsendmailパスを変更して、-fを介して正しい送信元アドレスを渡すように試みました

そのため、何らかの理由で、www-dataおよびrootからのメールには、fromフィールドがOffice 365の満​​足度に書き換えられておらず、メッセージは送信されません。

このリレーのセットアップに役立つPostfixの達人はいますか?

8
woodsbw

後で誰かがこれに遭遇した場合に備えて。 I DIDようやく適切な電子メールリレーが機能するようになります。この問題は、Office 365が行わなかった方法でエンベロープの「FROM」要素をフォーマットした古いバージョンのpostfixを使用することに関係していましたtlike。Postfixを2.9以上に更新して(そして上記のような設定を使用して)、問題を解決しました。

3
woodsbw

解決:

  1. Office365でホストされている電子メールドメインからユーザーとしてOffice365にメールを送信しないでください。代わりにサブドメインを使用してください。 [email protected]の代わりに[email protected]。 services.mydomain.comなど、使用することにしたもののSPFレコードを設定しても問題はありません。

  2. Mail.messaging.Microsoft.comに対してOffice365ユーザーとして認証しないでください。外部のSMTPエージェントと同じように、ポート25に接続してドメインにメールを配信するだけです。

2
Skyhawk

SASL authモジュールが見つからないことがわかりました。次のように修正しました:

yum install cyrus-sasl-plain  cyrus-sasl-scram cyrus-sasl-md5  cyrus-sasl-ntlm

プレーンモジュールでおそらく十分でした)

0
GDR