前回は、Raspberry PiにPostfixを導入し、ユーザ間でメールの送受信を出来るように設定しました。しかし、このメアドは勝手メールです。ローカルだけで通じる勝手メールを外部に送信することができません。そこで、Gmailを経由して外部にメール送信できるように設定します。
1. 下準備
Gmailのアカウントを持っていなかったら作りましょう。
ここでは、Gmailの2段階認証プロセスを有効にしている場合のアプリパスワードの取得方法から説明します。2段階認証を設定していなければ読み飛ばしてください。
WEBブラウザでGmailにログインすれば設定ページに辿りつけますが、分かりにくいので直リンクを載せておきます。
もし、パスワードを聞かれたら入力してログインしてください。
「ログイン」>「アプリ パスワード」にアクセスすると次のような画面が表示されます。
既にいくつかアプリパスワードを登録していたので、オレンジ色でマスクしました。
「端末を選択」から「その他(名前を入力)」を選択して、適当な名前を入力します。
「Postfix on Raspi2」と入力しました。
その後、「生成」を押します。
パスワードが生成されます。画像ではブルーでマスクしました。後で必要なのでコピーしておきましょう。
2. Postfixの設定ファイルの編集
Raspberry Piにログインして、次のコマンドで設定ファイルを開きます。
1 | $ sudo pico /etc/postfix/main.cf |
前回設定した内容に、次の内容を追記します。
1 2 3 4 5 6 | 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_use_tls = yes |
3. sasl_passwdファイルの編集
次のコマンドでファイルを開きます。
1 | $ sudo pico /etc/postfix/sasl_passwd |
次の内容を記載します。なお、各自のユーザ名とパスワードを入力してください。2段階認証を設定している場合は、先ほどのアプリパスワードを入力します。
1 | [smtp.gmail.com]:587 ユーザ名@gmail.com:パスワード |
次のコマンドでdbファイルに変換します。またパスワードファイルをroot以外から保護します。
1 2 3 | $ sudo postmap /etc/postfix/sasl_passwd $ sudo chmod 600 /etc/postfix/sasl_passwd $ sudo chmod 600 /etc/postfix/sasl_passwd.db |
3. Postfixの再起動
次のコマンドでPostfixを再起動します。
1 | $ sudo service postfix restart |
4. 送信テスト
muttを起動して、外部にメールを送信します。ちゃんと届いていれば設定完了です。
届いたメールの送信元を確認すると、Gmailのメアドになっているはずです。Piに設定した勝手メアドがGmailに差し替えられて宛先に送付されるからです。なお、Piの勝手メアドに、外部からメール送信することも出来ません。