私の問題は、Postfix 3.4.13を使用して外部ドメインにメールを送信できないことです。しかし、外部ドメインから送信されたメールを受信できます、Gmail や Hotmail などです。私のシナリオは少し変わっているので、できるだけ詳しく説明します。
私はいくつかのDockerコンテナを使用して自分の個人メールサーバーをホストしていますが、別のISPに切り替えたため、二重NATの背後にあるため、ポートを転送できません。これを克服するために、Digital Oceanで所有している低レベルのVPSを使用してVPNを設定し、このVPSを使用して転送を行っています(他の作業も)。これまでのところ、SSHとWebサービスのポート転送に成功しているので、MXレコード(VPSのパブリックアドレスを指す)が問題を起こしていない限り、外部ドメインにメールを送信できない理由を論理的に説明することはできません。この設定は以前も機能しており、DNAT(SMTPポートを転送する)を実行するマシンの背後にいない場合は機能します。私の設定ファイルをご覧くださいここまた、docker を使用して自分でテストすることもできます。
Postfix のログには次のように書かれています:
Jan 1 23:38:33 my-server postfix/smtp[214]: warning: host gmail-smtp-in.l.google.com[74.125.140.27]:25 greeted me with my own hostname smtp.example.com
Jan 1 23:38:34 my-server postfix/smtp[214]: warning: host gmail-smtp-in.l.google.com[74.125.140.27]:25 replied to HELO/EHLO with my own hostname smtp.example.com
Jan 1 23:38:34 my-server postfix/smtp[214]: E60D2BA0658: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.140.27]:25, delay=1.2, delays=0.43/0.01/0.72/0, dsn=5.4.6, status=bounced (mail for gmail.com loops back to myself)
...
Jan 1 23:40:51 my-server postfix/smtp[222]: warning: host hotmail-com.olc.protection.outlook.com[104.47.57.161]:25 greeted me with my own hostname smtp.example.com
Jan 1 23:40:51 my-server postfix/smtp[222]: warning: host hotmail-com.olc.protection.outlook.com[104.47.57.161]:25 replied to HELO/EHLO with my own hostname smtp.example.com
Jan 1 23:40:51 my-server postfix/smtp[222]: E404DBA0947: to=<[email protected]>, relay=hotmail-com.olc.protection.outlook.com[104.47.57.161]:25, delay=1.1, delays=0.57/0.01/0.48/0, dsn=5.4.6, status=bounced (mail for hotmail.com loops back to myself)
Iptables DNAT ルール:
### SMTP
iptables -t nat -I PREROUTING -p tcp --dport 25 -j DNAT --to-destination 10.99.97.3:25
iptables -t nat -I PREROUTING -p tcp --dport 465 -j DNAT --to-destination 10.99.97.3:465
iptables -t nat -I PREROUTING -p tcp --dport 587 -j DNAT --to-destination 10.99.97.3:587
### IMAP
iptables -t nat -I PREROUTING -p tcp --dport 143 -j DNAT --to-destination 10.99.97.3:143
iptables -t nat -I PREROUTING -p tcp --dport 993 -j DNAT --to-destination 10.99.97.3:993
私は Postfix を MySQL データベースと一緒に使用しているため、ドメインを追加してもmydestination
機能しません。
前もって感謝します。