この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
RaspberryPi2で本ブログのバックアップ取得したり、Twitterのフォロー/アンフォローしたりといった処理をさせてるのですが、基本的にはほったらかしなので、処理に失敗してても気づかないことがしばしば。
なので、処理に失敗したらメールで知らせることが出来るよう、Raspberry Pi 2にpostfixを入れてメールを送れる環境を作りたいと思います。
クリック可能な目次
RaspberryPi2でPostfixをインストールしてメール送信する方法
RaspberryPi2でのPostfix設定手順
Postfixインストール
SSHでRaspberryPi2に接続し、以下のコマンドでPostfixをインストールします。
# apt-get install postfix
対話的なインストールに切り替わるので、必要に応じて設定していきます。
後ほど設定するのでここでは「設定なし」として先に進めます。
以上でインストールが完了です。
Postfix基本設定
上の画面に記載がありますが、デフォルトだとpostfixの設定ファイル「main.cf」が存在しないためコピーして作成します。
# cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
では、「main.cf」を編集していきます。
# vi /etc/postfix/main.cf
必要最低限の設定を/etc/postfix/main.cf に追加します。
inet_interfaces = all
inet_protocols = ipv4
mynetworks = 192.168.11.0/24, 127.0.0.1
postfix再起動
# /etc/init.d/postfix reload
メール送信テストをするため、mailコマンドを含んだパッケージ「mailutils 」をインストールします。
# apt-get install mailutils
メールテストするも飛びません・・・。
# echo "This is test mail." | mail -s "test" メールアドレス
プロバイダのメールサーバへメールリレー
どうも、単にメールサーバの設定をするだけではメール送信出来ない模様・・・。
Oct 9 08:30:55 ithinkit postfix/smtp[3976]: BE9787FC3D: to=<メールアドレス>, relay=none, delay=489, delays=483/0.05/6.3/0, dsn=4.4.1, status=deferred (connect to mx2.mail.yahoo.co.jp[182.22.12.117]:25: No route to host)
Oct 9 08:30:56 ithinkit postfix/smtp[3974]: connect to mx5.mail.yahoo.co.jp[183.79.16.246]:25: No route to host
色々調べた結果、プロバイダのメールサーバにリレーしてやると行けそうな模様・・・。
ちなみに我が家のプロバイダはeo光です。
参考 自宅サーバから eo 光の SMTP サーバにメールをリレーする
プロバイダのメールサーバへの接続のためにsaslパッケージをインストールします。
# apt-get install sasl2-bin -y
認証に必要となる認証用ファイルを作成
# vi /etc/postfix/sasl_passwd
[smtpauth.eonet.ne.jp]:587 <パスワード>
作成した認証用ファイルを反映
# postmap /etc/postfix/sasl_passwd
postfix再起動
# /etc/init.d/postfix reload
最終的な/etc/postfix/main.cf の設定は以下の通り。
inet_interfaces = all
inet_protocols = ipv4
mynetworks = 192.168.11.0/24, 127.0.0.1
relayhost = [smtpauth.eonet.ne.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain, login, cram-md5
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
テスト的にメール送信してみると無事にメール送信出来ることが確認出来た。
これで何らかの処理に失敗したときのリカバリが捗りそうだわw
ただし、ドメイン設定もしてないので迷惑メール扱いなのが何とも(笑)
まぁ、とりあえずはGmail側の設定でしのいでおこw
以上、あいしんくいっとでした( *´艸`)