IT Notebook

とあるエンジニアの備忘録

sSMTP - sSMTPからAWS-SES経由でメールをおくる

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="<送信先メールアドレス>"
----------