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

Last modified: 2020-03-14