WEB開発備忘録

AWS/EC2でメール受信するまでにハマったこと

AWSのEC2インスタンスにドメイン設定し、メール受信をするまでの道のりでハマったポイントの備忘録です。
実際にはドメイン設定やpostfixインストールなどの手順も必要です。

AWSに25番ポートの制限解除を申請

AWSのEC2は初期状態では「SMTP通信に制限」が掛かっています。
AWSの以下のページより、メール送受信制限の解除申請を行いましょう。

https://aws.amazon.com/forms/ec2-email-limit-rdns-request

AWSのセキュリティグループ設定

AWSのセキュリティグループで25番ポートを解放します。
外部からSMTPサーバに接続出来るようにするためです。
SMTP通信を許可

 

Postfixの設定

1.main.cfの設定

[prompt] # /etc/postfix/main.cf
# ドメインを指定していきます。(example.comを適宜設定するドメインに置き換え)
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain

# 受信許可範囲を指定します
inet_interfaces = all
inet_protocols = all

# 受信するメールアドレスの@以降を定義
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
→ ooo@ドメイン でも届くように

# SMTP-AUTHの設定/Postfixでメール送信するために
smtpd_sasl_auth_enable = yes                      # SMTP-AUTHを有効に
smtpd_sasl_local_domain = $myhostname    # ローカルドメイン指定
permit_mynetworks                                         # 指定されたネットワークからのメール送信許可(自ネットワークのみに)
permit_sasl_authenticated                              # SMTP認証を通過しないと許可せず
reject_unauth_destination                               # 上記以外は拒否する設定

message_size_limit = 10485760

2.supportメールがrootに?aliasの見直し

早速サービスのサポートメールアドレスのアカウントを作ります。(support@ドメイン)

[prompt] # useradd support

しかし、いくら「support@ドメイン」にメール送信してもなぜかroot@ドメインに配送される??
メールの配送設定が記述されているエイリアスを確認します。

[prompt] # vim /etc/aliases
support: postmaster
→ これだとrootに転送される・・

コメントアウトします。
+#support: postmaster
-support: postmaster

そしてエイリアスを反映

[prompt] # postalias /etc/aliases
[prompt] # newaliases

これでようやく「support@ドメイン」のメールが受信出来るようになりました。