次のリンクから参照を取得して、電子メール用にサーバーを構成しようとしています: Postfixでの送信SMTPリレー-Webminを使用 。私は Mandrill smtpサーバーを使用しました。メインサーバーを構成する前に、vagrentインスタンスも構成しました。しかし、私がサーバーを使用してメールを送信しようとすると(浮浪者とメインの両方):
sendemail -f [email protected] -t <myemail>@gmail.com -m "Message Body" -u "Message Subject"
メッセージはpostfixでキューに入れられ、宛先に到達することはありません。
/var/log/mail.log
ファイルは以下を示します:
precise64 postfix/smtpd[16542]: connect from localhost[127.0.0.1]
precise64 postfix/smtpd[16542]: 116033A4253: client=localhost[127.0.0.1]
precise64 postfix/cleanup[16545]: 116033A4253: message-id=<621108.689435886-sendEmail@precise64>
precise64 postfix/qmgr[12672]: 116033A4253: from=<[email protected]>, size=916, nrcpt=1 (queue active)
precise64 postfix/smtpd[16542]: disconnect from localhost[127.0.0.1]
precise64 postfix/smtp[16546]: Untrusted TLS connection established to smtp.mandrillapp.com[54.195.231.78]:587: TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)
precise64 postfix/smtp[16546]: 116033A4253: Host smtp.mandrillapp.com[54.195.231.78] said: 454 4.7.1 <[email protected]>: Relay access denied (in reply to RCPT TO command)
precise64 postfix/smtp[16546]: Untrusted TLS connection established to smtp.mandrillapp.com[54.247.27.189]:587: TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)
precise64 postfix/smtp[16546]: 116033A4253: to=<[email protected]>, relay=smtp.mandrillapp.com[54.247.27.189]:587, delay=4.3, delays=0.06/0.01/4/0.28, dsn=4.7.1, status=deferred (Host smtp.mandrillapp.com[54.247.27.189] said: 454 4.7.1 <[email protected]>: Relay access denied (in reply to RCPT TO command))
そしてその /etc/postfix/main.cf
ファイル:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = precise64
# myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = precise64, localhost.localdomain, , localhost
relayhost = smtp.mandrillapp.com:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
# mynetworks = example.com
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination
virtual_alias_maps = hash:/etc/postfix/generic
smtp_tls_loglevel = 1
smtp_tls_security_level = encrypt
smtp_sasl_security_options = noanonymous
smtp_generic_maps = hash:/etc/postfix/generic
いくつかの提案が必要です。ここで何が問題になっていますか?私はメールサーバーの設定が非常に新しいです。ばかげた間違いがあればご容赦ください。
ここでの問題は、送信メールをサーバー、つまりsmtp.mandrillapp.com
にリレーするようにサーバーを構成したことです。そのサーバーは、今度はメールのリレーを受け入れません。
私はこの会社を知りませんが、彼らは認証された顧客からのメールをリレーするだけで、あなたはログインしていません。
おそらくmain.cfのどこかに次のような行があるはずです。
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/remote_passwords
smtp_sasl_security_options = noplaintext,noanonymous
smtp_sasl_tls_security_options = noanonymous
ファイル/etc/postfix/remote_passwords
は次のようになります
smtp.mandrillapp.com:587 login:password
mandrillappからのログイン/パスワード。
また、クライアントにサーバーへのログインを期待する場合にのみ関連するsmtpd_sasl_auth_enable
(smtpの最後の「d」に注意)を構成ファイルに表示しましたが、十分な構成がありませんそのため。あなたはそれが必要であることを確認する必要があります。
Mandrill APIキーはどこで定義していますか?あなたがいないと思いますsmtp_sasl_password_maps
ディレクティブmain.cf
。以下をご覧ください。
この場合、実際にポートが非常に重要であることがわかります。この場合、リレーのユーザー名/パスワードの組み合わせを指定します。私が使用していたサーバー名の末尾に:588を追加できなかったため、メールサーバーが古くなってハングアップしました。なんとPITAでしょう。