メールサーバーのセットアップで問題が発生しました。この後、 tutorial サーバーの外部にメールを送信できません。
PostFix、Dovecot、Squirrellmailをインストールして構成しました
正確なエラーメッセージは次のとおりです。
トランザクションに失敗しました554 5.7.1 [email protected]:Relay access denied
以下のPostFix構成ファイルに問題がある可能性があります(mail_version = 2.9.3)
# 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/smtpd.crt
smtpd_tls_key_file = /etc/ssl/private/smtpd.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 = mysite.com
mydomain = mysite.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost =
mynetworks = 127.0.0.0/8, 12.33.444.55 #not the real IP
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
mailbox_command =
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
どんな助けでも大歓迎です。
あなたが持っている
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
次のように翻訳されます
mydestination = mysite.com, localhost.mysite.com, localhost, mysite.com
[email protected]にメールを送信しています。 smtpd_recipient_restrictions
で動作を制御できます。 reject_unauth_destination
があります。これは、一致する前のpermit_*
の1つがなければ、リレーが無効になっていることを意味します(詳細については here を参照)。この場合、permit_sasl_authenticated,permit_mynetworks
があります。2番目は、ホスト(実際にはmynetworks
のホスト)から直接メールを送信するか、自分自身を認証する(permit_sasl_authenticated
)必要があることを意味します。
TL; DR:リモートマシンから他のドメインに電子メールを送信する場合は認証が必要です。