ささっとAzure仮想マシンからメール送信


環境

クラウド:Azure
仮想マシン:Azure上の仮想マシン
OS:CentOS 7.3

前書き

自前でメールサーバを立てるのも時代的にどうかなと。
そこで、Azure上に仮想マシンを立てて、SendGridを利用したメール送信を行ってみます。
Azure仮想マシンからSendGridを利用してさくっとメール送信!をポイントにしているため、パラメータの詳細まで検討していません。。。。

設定

① SendGridの設定

こちらのサイトを参考にしてください。
Azureのメール送信はSendGrid

② Postfixの設定

必要なパッケージがいくつかあります。

# yum install postfix cyrus-sasl cyrus-sasl-plain

インストールが完了したら、設定ファイルを編集します。

# vi /etc/postfix/main.cf
(コメントアウトを外して、値を修正)
myhostname = ホスト名.ドメイン名
mydomain = ドメイン名
myorigin = $myhostname
inet_interfaces = localhost
inet_protocols = ipv4

(末尾に追記)
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:[email protected]:パスワード   ★
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587


★部分の[email protected] は、Azure管理画面の
  SendGrid Accounts > (任意の名前)> Settings > Configurations のUSERNAME部分です。
★部分のパスワードは、① で設定したパスワードです。

サブミッションポートをOPENにします。

# vi /etc/postfix/master.cf

submission inet n       -       n       -       -       smtpd    ★ コメントアウトを外します。


postfixを再起動します。

# systemctl restart postfix

動作確認

仮想マシン上から、mail コマンドを利用して送信テストです。

# echo "test" | mail -s "test mail" -r Fromアドレス 宛先アドレス


以上で終了です。
SendGridを利用することで、SPF、DKIMがpassになってますね。