foltiaにメール送信環境を作る
2017/11/12 ※postfixの起動設定を追記
foltiaサーバーからメールコマンドを使って、メール送信を行えるようにします。
導入にあたって
作業時の当foltia環境はCentOS release 6.8 (Final)となっており、foltiaのインストール環境がCentOS7との場合では作業時のコマンドが違ったりします。
foltiaのインストーラDVDのリリースタイミングによっては特に最近のものではCentOS7ベースの環境になっているようなので、コマンド内容は適宜読み替えてください。
そもそも、foltiaのインストール構成ではpostfixでのメール送信環境が既にインストールされており、当初、これがそのまま使えるのかと思いきやデフォルトではlocalhostのSMTPサーバーに対して送信する設定になっていました。
これに気づかずsendmailコマンドで何回メールを送ってもエラーもでてないのにうんともすんともいわず、なんでや!という状況がかれこれ1,2日続いておりました。
なので、これをlocalhostからGoogleのSMTPサーバーにリレーしてメールコマンドでメールを送信できるようにする設定を行いましたのでメモ。
注意:本設定はサーバーの設定ファイルに変更を加える行為であり、foltia自体のアップデートによっては設定が書き換わる可能性があります。
必要ライブラリなど
1 2 3 4 5 6 7 8 9 |
[root@foltia ~]# rpm -qa | grep postfix postfix-2.6.6-6.el6_7.1.x86_64 [root@foltia ~]# rpm -qa | grep cyrus-sasl cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-lib-2.1.23-15.el6_6.2.i686 cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-2.1.23-15.el6_6.2.x86_64 |
私の環境では両方ともすでに入ってました。
あと、リレー先のメールアドレスのアカウントが必要です。今回はGmailで設定しました。
リレーの設定
サーバーのメールコマンドで実施したメールの送信先をgoogleのsmtpサーバーに向ける設定です。要root。
一応設定ファイルのバックアップを取っておきつつ、編集
1 |
[root@foltia ~]# cp /etc/postfix/main.cf /etc/postfix/main.cf.org |
1 |
[root@foltia ~]# vi /etc/postfix/main.cf |
末尾に次の設定を追記します。
1 2 3 4 5 6 7 8 |
# GMail relayhost = [smtp.gmail.com]:587 smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/relay_info smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain |
リレー情報ファイルの作成
1 |
sudo vi /etc/postfix/relay_info |
メールのアカウント情報を作成します。(ここで設定したアカウントからメールが送られます)
1 |
[smtp.gmail.com]:587 <メールアドレス>:<パスワード> |
適当なアクセス権限をつけてpostmapでDB化します
1 2 |
[root@foltia ~]# chmod 600 /etc/postfix/relay_info [root@foltia ~]# postmap hash:/etc/postfix/relay_info |
設定反映
1 2 3 |
[root@foltia ~]# service postfix restart Shutting down postfix: [FAILED] Starting postfix: [ OK ] |
ん、、、?FAILEDとな、、、、んで、Googleから何やらメールが届いています
どうやら、Googleは最新のセキュリティ基準に満たしていない端末やアプリからのログインをブロックするようになっているとのこと。
再起動時に587ポートでアクセスしに行ったときに、googleから未熟なセキュリティな端末からのアクセスと検知されてブロックされ、再起動がしっぱいしたようです。
googleのリンクからアクセスを許可するように設定。
もっかい再起動!
1 2 3 |
[root@foltia ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] |
今度は無事再起動されました。
テスト
きちんと設定できたか、実際にメールコマンドでメール送信します。
1 |
echo "test mail" | mail -s "test" 宛先メールアドレス |
実際にメールが来てればOKです。
失敗する場合、何も起きない場合、/var/log/maillogを見て原因を探りましょう。
起動時にpostfixサービスを起動させる
再起動するとpostfixが落ちたままなので、本体起動時にサービスを実行するように設定します。
1 2 3 4 5 |
[root@foltia ~]# chkconfig --list | grep postfix postfix 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@foltia ~]# chkconfig postfix on [root@foltia ~]# chkconfig --list | grep postfix postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
設定後、再起動。
1 2 3 4 5 |
[root@foltia ~]# ps aux | grep postfix root 2171 0.0 0.0 80900 3436 ? Ss 14:01 0:00 /usr/libexec/postfix/master postfix 2177 0.0 0.0 80980 3400 ? S 14:01 0:00 pickup -l -t fifo -u postfix 2178 0.0 0.0 81048 3444 ? S 14:01 0:00 qmgr -l -t fifo -u root 2414 0.0 0.0 103320 852 pts/0 S+ 14:03 0:00 grep postfix |
/usr/libexec/postfix/masterがプロセスにいれば、OK
おつかれさまでした。
最近のコメント