Postfixを使用して送信専用メールサーバーを構築しようとしています。私はこれをフォローしました documentation Digital Oceanから
メールを送信しようとすると、以下のエラーが発生します。 (/var/log/mail.logからコピーしました)
私のドメイン名はdomainaddress.com
Feb 9 07:52:54 domainaddress postfix/qmgr[22091]: B22861BA03A: from=<hsntngr@domainaddress>, size=403, nrcpt=1 (queue active)
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: connect to domainaddress[127.0.1.1]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: connect to domainaddress[127.0.1.1]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: 6A8D81BA0FA: to=<hsntngr@domainaddress>, relay=none, delay=29909, delays=29909/0.01/0/0, dsn=4.4.1, status=deferred (conn$
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: connect to domainaddress.com[128.199.50.100]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: 6CDC81BA03F: to=<hsntngr@domainaddress>, relay=none, delay=126295, delays=126295/0.01/0/0, dsn=4.4.1, status=deferred (co$
Feb 9 07:52:54 domainaddress postfix/smtp[26332]: 6BDFF1BA0F8: to=<[email protected]>, relay=none, delay=29997, delays=29997/0.02/0/0, dsn=4.4.1, status=deferred ($
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: connect to domainaddress[127.0.1.1]:25: Connection refused
Feb 9 07:52:54 domainaddress postfix/smtp[26333]: B22861BA03A: to=<your_email_address@domainaddress>, relay=none, delay=126304, delays=126304/0.02/0.01/0, dsn=4.4.1, status..
設定ファイルでホスト名を設定しても、ホスト名が間違っているようです。
また、私の設定ファイル(/etc/postfix/main.cf)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.domainaddress.com
mydomain = domainaddress.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = $myhostname, localhost, $mydomain , www.$mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4
私はどこかで何か間違ったことをしているのを知っていますが、それが何でどこにあるのかを2日間理解できませんでした。
コメントの Freddy ポイントとして、postfixを再起動して、適用されていない変更がないことを確認します。
service postfix restart
問題が解決しない場合は、/etc/hosts
に行を追加してください
127.0.0.1 mail.domainaddress.com
ホスト名を解決できることも確認してください
nslookup google.com
そうでない場合は、ネットワーク構成ファイルにあるものから始めて修正してください。
ファイアウォールがlocalhost:25をブロックしていないことを確認してください
telent localhost 25
タイムアウト/拒否を返すべきではない、そうでなければ
iptables -I INPUT 1 -s 127.0.0.1 -d 127.0.0.1 -p tcp --dport 25 -j ACCEPT
iptables -I OUTPUT 1 -s 127.0.0.1 -d 127.0.0.1 -p tcp --sport 25 -j ACCEPT
これらのルールwillファイアウォールの設定に何があっても接続を許可しますしかし、それは悪い回避策です。たとえば、ファイアウォールログに依存するセキュリティをスキップする場合があります。
ファイアウォールが該当する場合は、それらのルールを永続的に保存することを避け、代わりにiptablesルールセットの完全なレビューを開始してください。
あなたのログを読むことは間違いなくpostfixが実行されていることです。この問題に遭遇した他のユーザーは、ログが異なる/まったくない、同じ症状を持っている可能性があるため、postfixをまだ再起動していない場合は、それらのユーザーにとって価値があるかもしれませんiptablesルールセットを編集する前も実行する:
service postfix status
実行されていない場合
service postfix start
ポート25がブロックされて、(おそらくISPによって)外部SMTPへの接続が妨げられているのでしょうか?私は推測する telnet mail.domainaddress.com 25
も失敗しますか?試して頂けますか?