Office365へのPostfixリレー


8

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

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(ホスト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                address@mydomain.com
root                    address@mydomain.com
www-data@localhost      address@mydomain.com
root@localhost          address@mydomain.com

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

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

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

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

回答:


3

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


私は過去3日間、sendmail、ssmtp、および現在はpostfixを使用してこのリレーを設定しようとしました。あなたのsender_canonicalについてもう少し詳しく説明していただけますか?このリレーが機能するために必要ですか?私の設定で私が取得Jan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Rhyuk

どこでoutlook.comのsmtp_tls_CAfileを取得しましたか?
pjz 2013

私はそれを必要としなかった、それはUbuntuサーバーに付属しているものでうまく機能します。
woodsbw

2

解決:

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

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


けっこうだ。私はすべてのメールが中央のポイントを通過することを望んでいました...しかし、このリレーを動作させるために12時間費やした後、それを受け取ります:)
woodsbw

0

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

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

単純なモジュールでおそらく十分でした)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.