AWSでシステム開発を行っていると『AWSからメールが送信できない』事ってあると思います。
今回はそんな場合に『Postfix』での解決方法をお伝えしたいと思います。
なぜメールが送信できないのか?というとAWSではデフォルトで25ポートに対し制限をかけている為になります。
もしもアフィリエイトは会員登録後も無料です!
今すぐ会員登録してアフィリエイトを始めよう!
AWSではデフォルトで25ポート利用制限をかけています
AWSではデフォルトで25ポートに対し利用制限をかけています。
これを知らないと解決までには時間を要しそうですよね。
スパムメール送信対策としてAWSから大量のスパムメールを送信させない為の制限なのでしょうがないと思います。
【Postfix】AWSからメールを送信する解決方法
ではPostfixでのAWSからメールを送信する解決方法を見ていきましょう。
Postfixのtransportで配送経路を指定する
Postfixのtransportで配送経路を指定する方法ですが、以下のような対応となります。
vi + /etc/postfix/transport
==========
* smtp:[配送先メールサーバーのIP]:[配送先メールサーバーのポート]
==========
postmap /etc/postfix/transport
vi + /etc/postfix/main.cf
==========
transport_maps = hash:/etc/postfix/transport
==========
/etc/init.d/postfix reload
transportファイルにメール配送先のメールサーバーを指定する方法ですね。
別途配信専用のメールサーバーが必要ですが、システム開発(プログラマー)の上ではぶっちゃけこれが一番楽かなと思います。様々な開発業務にも使えますしね。
ただし配信専用のメールサーバー側のセキュリティはしっかりしておきましょう。(オープンリレーになっていないか等)
ちなみにtransportファイルを以下のように記述すると、特定の宛先のみ配送経路を指定できます。
[特定の宛先] smtp:[配送先メールサーバーのIP]:[配送先メールサーバーのポート]
Postfix以外の解決方法
Postfix以外での解決方法ですが、AWSに利用解除を行う申請もできます。
ただしDNS設定等、いくつか対応しないといけません。
これらの対応が"可"でしたら、AWSへ利用解除の申請を行うのもありかなと思います。
まとめ
いかがだったでしょうか。
プログラミングだけではなく、インフラ周りも見ていくと様々な問題に遭遇します。
これらも1つ1つ解決できていけば、自らのスキルも上がると思いますので、この記事が少しでも参考になればと思っています。