« | »

2016.09.09

send mail from Gmail server on your Ubuntu with no domainname

UbuntuでGamilアカウントを使ってメールを送信する

Ubuntuのサーバからちょくちょくメールを送信したいが、ドメインがないなどの理由でSMTPを構築しづらい場合は、Gmailを借りると割りと楽にメール送信が可能になる。

必要な環境
Gmailアカウント
Ubuntu(今回使ったのはUbuntu Server 14.04.4)
postfix
mailutils または mailx
sasl2-bin

Ubuntuサーバの構築 > Gmailアカウントを取得 > 必要なサービスのインストール > 設定ファイルの編集 > メール送信テスト
という流れ。

サーバは構築済みとして、適当なGmailアカウントを取得しておく。
Gmail側で特に設定することはない。

Ubuntuに必要なサービスをインストールする。
# apt-get install postfix mailutils sasl2-bin

postfixの設定
# vi /etc/postfix/main.cf
下記を追記
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes

smtp_sasl_password_maps で設定したsasl_passwdを作成する。
# vi /etc/postfix/sasl_passwd
内容
[smtp.gmail.com]:587 Gmailアカウント名@gmail.com:パスワード

簡単にということで、sasl_passwd の内容は平文なので、権限を厳しくしておく。
# chown root:root /etc/postfix/sasl_password
# chmod 600 /etc/postfix/sasl_pasword

上記の設定でpostfixのデータベースを生成する。
# postmap /etc/postfix/sasl_passwd

postfixを再起動
# service postfix restart

メール送信テスト
echo test | mail 宛先メールアドレス

宛先メールアドレスで受信してみる。

上手く受信できない場合は、サーバにメールが溜まっていないか、エラーがないか調べる。
# mailq
とか、
% cat /var/log/syslog | grep 宛先メールアドレス
とか。

Gmailを2段階認証にしていると、アプリのログインを行わないとならないらしい。

参考
Ubuntu 9.04 Server – Postfixの設定
UbuntuでGmailを使ってメール送信してみる
ありがとうございました