CentOS7.9にPostfixをインストールしてメール送信できるようセットアップする方法
2024/01/19
本ブログのサーバをKAGOYAのVPSからWebARENA Indigoへ移行した際に、メールサーバも設置してみたものの正常に送信されなかった。そのまま放置していたものの今になって設定等を弄ってみると送信できたので覚えている範囲でセットアップ方法のメモ。尚、PHP等からの送信のみが目的で受信に関しては取り扱っていない。
CentOSのバージョン
7.9.2009
Postfixのインストール及びセットアップ
サーバにSSH接続し以下操作を行う。
#Postfixのインストール yum -y install postfix #Postfixのバージョン確認 postconf | grep mail_version #以下バージョンが出力された mail_version = 2.10.1 #設定ファイルのコピー作成 cp /etc/postfix/main.cf /etc/postfix/main.cf.org #設定ファイルの編集 vi /etc/postfix/main.cf
設定ファイルは以下を追記もしくは書き換え(コメントアウトになっている場合はシャープを外す)。また、ドメイン部分は適宜変更する。尚、一番下のsmtp_tlsなんちゃらは追記しなくても送信できるが、送信時に暗号化されないためブラウザ版Gmailとかから見た際に警告マークみたいなのが表示される。
myhostname = test.com mydomain = test.com masquerade_domains = test.com smtp_tls_CAfile = /etc/pki/tls/cert.pem
設定ファイルを上書き保存し、以下操作を行う。
#設定ファイルの文法チェック(エラーが無い場合は何も表示されない) postfix check #postfix再起動 systemctl restart postfix
SPFレコード設定
TXTレコードで以下を設定する。
v=spf1 +a +mx include:test.com ~all
SPFレコードが正常に設定されているかどうかはこちらのサイトで確認できる。設定から数時間後ぐらいにチェックすると良い。
メール送信テスト
以下プログラム等で送信テストを行う。
<?php ini_set( 'display_errors', 1 ); mb_language('ja'); mb_internal_encoding('UTF-8'); $from = 'from@test.com'; $to = 'to@test.com'; if( mb_send_mail($to, 'subject', 'body', "From: {$from}\r\n", "-f{$from}") ){ //成功時処理 echo 1; }else{ //失敗時処理 echo 0; }
尚、送信の際はSSH接続し以下コマンドを打っておいてログが見れるようにしておくと良いかも。
tail -f /var/log/maillog
注意点
historyコマンドで過去の入力履歴を見たところPostfix導入時に以下コマンドが入力されていたため、telnet関連の設定等も必要なのかも。この辺はうろ覚え。
yum -y install telnet telnet localhost 25
関連記事
-
VPSでWebARENAのIndigoが安い
サーバの勉強や開発環境の為にVPSをレンタルすることが多い。当ブログのように常時 ...
-
WordPressでメモリを節約しつつ高速化する設定方法
メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...
-
VPSのCentOSにプロキシサーバーを立てる方法
借りているVPSにプロキシサーバーを立てたかった。環境と設置方法等を以下にメモ。 ...
-
GMOのVPSでメモリ1GBのプランが出てた
GMOのVPSで今まで最小構成がメモリ2GBだったのが、新しく1GBのコースが出 ...
-
CentOS7系にLEMP環境(Linux + Nginx + MySQL + PHP)を構築
先日KAGOYAのVPSからIndigoに移行した際にCentOS6から7へバー ...