web-dev-qa-db-ja.com

TLSを使用してOffice365(SMTP)を介して電子メールを中継するようにUbuntuでpostfixを構成する方法

この特定のセットアップを必要とするネットワーク上のいくつかの内部デバイス用に、新しいOffice365セットアップへのポストフィックスリレーをセットアップしようとしています。私は2日間の大部分の間、Web上の構成とトラブルシューティングのヒントを使用してさまざまなサイトを試してきましたが、次のコマンドを使用して送信しようとすると、/ etc/log /mail.logで次のエラーが発生し続けます。mailuser@ domain.comどんな助けでも大歓迎です。

Jun 19 05:41:16 smtphost postfix/smtp[1357]: warning: smtp.office365.com[157.56.96.22]:587 offered null AUTH mechanism list
Jun 19 05:41:17 smtphost postfix/smtp[1357]: warning: SASL authentication failure: No worthy mechs found
Jun 19 05:41:17 smtphost postfix/smtp[1357]: 5E7A32034A: to=<[email protected]>, relay=smtp.office365.com[157.56.96.22]:587, delay=7289, delays=7283/0.32/5.6/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.office365.com[157.56.96.22]: no mechanism available)

これが私のpostconf-nの出力です

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix

inet_interfaces = loopback-only
inet_protocols = ipv4

mailbox_size_limit = 0

mydestination = smtphost, localhost.localdomain, localhost
myhostname = smtphost
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname

readme_directory = no
recipient_delimiter = +

relayhost = smtp.office365.com:587

smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous, noplaintext
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

これが私のsasl_passwdファイルの内容です:

smtp.office365.com [email protected]:p@ssword
3
misc

同様の問題が発生し、「smtp_tls_security_level = encrypt」を使用して修正しました。

1
Mutant

このMSナレッジベースの記事 によると、リレーを機能させるには、接尾辞2.9以降が必要です。

私が選んだディストリビューションのリポジトリには古いpostfixバージョンがあるので、cyrus-sasl-2.1.25と一緒にソースからpostfix-2.10.1をインストールすることになりました(セットアップで使用しているように見えるダブコートではありません)。

次のmakeフラグをpostfixドキュメント here および here から取得して使用します

makefileを作成CCARGS = "-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -DUSE_TLS -I/usr/local/include/sasl -I/usr/local/include" AUXLIBS = "-lsasl2 -lssl -lcrypto"

私はまだpostfixメールログに「提供されたnullAUTHメカニズムリスト」というメッセージを受け取ります。ただし、メールは正しく配信されます。

注:アカウントの電子メールアドレス(またはエイリアス)とは異なる電子メールアドレスの使用は、Microsoftメールサーバーによって拒否されます。

ただし、FROM:フィールドは好きなように変更できます。これを回避する方法を見つけたら、コメントを残してください。

0
tomodachi

SASL認証メカニズムがインストールされていることを確認する必要があります。

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