勉強したことのメモ

webプログラマが勉強したことのメモ。

CentOS7.9にPostfixをインストールしてメール送信できるようセットアップする方法

   

本ブログのサーバを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 cp /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

 

メール送信テスト

以下プログラム等で送信テストを行う。

<?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, サーバー

  関連記事

CPIのレンタルサーバでRewriteEngineを使用する場合の注意点

CPIのレンタルサーバで開発する案件があり、htaccessファイルを用いてRe ...

さくらvpsでPHPのエラーログ設定

PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...

GMOクラウドVPSをレンタルして気付いたことのメモ  

GMOクラウドVPSをレンタルして気付いたことのメモ。 レンタルしたのはマイクロ ...

WordPress Popular Postsのサムネイルが表示されない

WordPressの人気記事を表示させるWordPress Popular Po ...

お手軽に負荷分散(DNSラウンドロビン)を行う方法

サーバ設定か何かの記事を見ていて「DNSラウンドロビン」という聞いたことのない言 ...

CentOS6.10に無料SSL(Let's Encrypt)を導入

以前にもVPSにLet's Encryptを導入するという記事を書いたが、テスト ...

サーバーのメモリー使用状況を調べる(free)

サーバーのメモリー使用状況を調べる際は teratermでログインして、 fre ...

VPSのメモリ2GBでどのぐらいのPVに耐えられるのか?

VPSを分からないなりに勉強しているんだけど、実際どのぐらいのPVに耐えられるん ...

apacheを再起動する際に影響を少なくする

apacheを再起動するとクライアントとの通信が強制的に切断されてしまう。その影 ...

APCの導入。pecl install apcで入らなかったのでyumで導入。

APC入れたらPHPのメモリ消費を抑えられるというのを見たので導入。 調べながら ...