この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
AWSに構築しているwordpressはBitnami のAMIを利用しました。
wordpressのメール送信機能(パスワード忘れなど)を利用するために、AWSにポート25制限を申請しました。
AWSに稼働しているEC2がポート25よりメール送信したい場合、制限解除が必要です。
ただし、AWSから解除しても、wordpressが送信できません。
mail.logに確認すると、sendmail配置に問題があります、下記は問題ログに対しての解決方法になります、同じの問題が発生したら、ご参照ください。
問題1(sendmail.cf)
Log
Mar 8 12:26:57 ip-172-31-34-28 sendmail[25160]: NOQUEUE: SYSERR(daemon): /etc/mail/sendmail.cf: line 0: cannot open: No such file or directory
解決方法
root権限でm4コマンドを実行して、sendmail.cfを作成する
bitnami@aws-web:/etc/mail$ sudo su
root@aws-web:/etc/mail# m4 sendmail.mc > sendmail.cf
問題2(local-host-names)
Log
Mar 12 08:44:58 aws-web-mail sendmail[3287]: NOQUEUE: SYSERR(daemon): /etc/mail/sendmail.cf: line 100: fileclass: cannot open '/etc/mail/local-host-names': No such file or directory
解決方法
local-host-namesを作成してから、自ホストを記入する
root@aws-web:/etc/mail# sudo vi local-host-names
問題3(mqueue-client)
Log
Mar 12 08:52:00 aws-web-mail sendmail[3779]: 02C8q0wm003779: SYSERR(daemon): collect: Cannot write ./df02C8q0wm003779 (bfcommit, uid=1, gid=118): Permission denied
解決方法
root@aws-web:/var/spool# chown smmsp:smmsp mqueue-client
root@aws-web:/var/spool# chmod 2755 mqueue-client
問題4(access.db)
Log
Mar 12 09:19:47 aws-web-mail sendmail[4895]: 02C9JkO7004893: SYSERR(daemon): hash map "access": missing map file /etc/mail/access.db: No such file or directory
解決方法
root@aws-web:/etc/mail# vi access
root@aws-web:/etc/mail# makemap hash access.db < access
問題5(access.db権限)
Log
Mar 12 09:28:37 aws-web-mail sendmail[5475]: 02C9SaAa005473: SYSERR(daemon): hash map "access": unsafe map file /etc/mail/access.db: Permission denied
解決方法
root@aws-web:/etc/mail# chmod 777 access.db