メールをGmailに転送するように設定し、Postfixを使用してメールをsmtp.gmail.comにリレーしようとしています。ただし、smtp.gmail.comで認証することができません。これは、何かを機能させるためのかなり重要な前提条件です…
メールログにのみ表示されます。
Oct 29 15:50:14 gsnedders-1 postfix/master[6596]: daemon started -- version 2.7.1, configuration /etc/postfix
Oct 29 15:50:19 gsnedders-1 postfix/pickup[6598]: EBA1F78750: uid=1000 from=<gsnedders>
Oct 29 15:50:19 gsnedders-1 postfix/cleanup[6603]: EBA1F78750: message-id=<[email protected]>
Oct 29 15:50:19 gsnedders-1 postfix/qmgr[6599]: EBA1F78750: from=<[email protected]>, size=324, nrcpt=1 (queue active)
Oct 29 15:50:19 gsnedders-1 postfix/cleanup[6603]: F2D557874F: message-id=<[email protected]>
Oct 29 15:50:19 gsnedders-1 postfix/local[6605]: EBA1F78750: to=<[email protected]>, orig_to=<me>, relay=local, delay=0.04, delays=0.03/0.02/0/0, dsn=2.0.0, status=sent (forwarded as F2D557874F)
Oct 29 15:50:19 gsnedders-1 postfix/qmgr[6599]: F2D557874F: from=<[email protected]>, size=454, nrcpt=1 (queue active)
Oct 29 15:50:19 gsnedders-1 postfix/qmgr[6599]: EBA1F78750: removed
Oct 29 15:50:20 gsnedders-1 postfix/smtp[6606]: warning: SASL authentication failure: No worthy mechs found
Oct 29 15:50:20 gsnedders-1 postfix/smtp[6606]: F2D557874F: SASL authentication failed; cannot authenticate to server smtp.gmail.com[74.125.157.108]: no mechanism available
そしてpostfix設定は:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
smtp_tls_eccert_file =
smtp_tls_eckey_file =
smtp_tls_security_level = may
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom
smtpd_tls_security_level = may
あはは! libsasl2-modules
パッケージをインストールすると問題が解決しました。
ランニング
Sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
amazon AWSサーバーで私を助けました。
Sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
gmailリレーセットアップ(CentOS 7)で私のために働いた
この問題が発生していました(tail -f /var/log/mailog
):
to=<[email protected]>, relay=smtp.sendgrid.net[169.45.113.201]:587, delay=0.3, delays=0.05/0.07/0.16/0.02, dsn=5.0.0, status=bounced (Host smtp.sendgrid.net[169.45.113.201] said: 550 Unauthenticated senders not allowed (in reply to MAIL FROM command))
次に、ファイルを変更しました/etc/postfix/main.cf
このようにして、ファイルの終わりに次の行を追加しました
mtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
mailbox_size_limit = 256000000
# Sendgrid Settings
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:apikey:SG.YOUR_SENDGRID_KEY
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
次に、以下を使用して、postfixのないモジュールの依存関係をインストールします
Sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
その後、postfixを再起動します
Sudo systemctl restart postfix.service
最後にcentos 7で動作します
次の環境変数を設定するとうまくいきました:
SASL_PATH=/usr/lib/x86_64-linux-gnu/sasl2
(これはUbuntu用です)。