AWS-SES経由でメール送信を簡単にできそうなMTAを探していたところ「sSMTP」というのが良さそうだったので設定してみました
作業環境
OS: Ubuntu14.04
ssmtpインストールと初期設定
sudo su - apt-get update apt-get install ssmtp groupadd ssmtp adduser <OSUSER> ssmtp
ssmtp初期設定
sudo su - groupadd ssmtp adduser <OSUSER> ssmtp chgrp ssmtp /etc/ssmtp/ssmtp.conf chmod 660 /etc/ssmtp/ssmtp.conf
「ssmtp.conf」編集
vi /etc/ssmtp/ssmtp.conf ---------- mailhub=email-smtp.us-east-1.amazonaws.com:465 AuthUser=<SMTPUSER> AuthPass=<SMTPPASS> rewriteDomain=<DOMAIN> # ドメイン指定がないときに上書きされるドメイン。gmail.comとか hostname=<HOSTNAME> # ホスト名。www.gmail.comとか UseTLS=YES ----------
「revaliases」編集
書式: <ローカルユーザ名>:<送信元メールアドレス>:<SMTPサーバ>:<ポート番号>
vi /etc/ssmtp/revaliases ---------- root:examplee@gmail.com:email-smtp.us-east-1.amazonaws.com:465 ----------
※送信元メールアドレスがAWS-SESでVerifyされていないとエラーになるので注意!!
テスト送信
vi /tmp/mail.txt ---------- From: <送信元メールアドレス> To: <送信先メールアドレス> Subject: <件名> mail test ---------- ssmtp -t < /tmp/mail.txt
crontab修正
crontabから送信したかったので設定追加
crontab -e ---------- MAILTO="<送信先メールアドレス>" ----------