Postfixを使用してメール送信専用のサーバを構築する

スポンサーリンク

はじめに

先日、レンタルサーバのConoHaを使ってメールサーバを構築しメールの送信テストを実施していました。自宅のPCから構築したメールサーバを経由してメールを送信しようとしたのですが、何度やっても失敗します。

設定を見直しましたが、特に問題は見受けられず。ググって調べていたところ、プロバイダの「OP25B」の影響とわかりました。

『OP25Bとは』
迷惑メール対策の1つです。迷惑メールの多くはプロバイダーのメールサーバを経由せずに直接送信されるため、これをブロックする対策がOP25B(Outbound Port25 Blocking)と呼ばれています。OP25Bは、外部からの不正アクセスやウイルス感染などによる「意図しない大量メールの送信」「パソコン内の個人情報の流出」などの防止にも力を発揮するため、有効な迷惑メール対策として国内のプロバイダー各社で導入が進んでいます。

そのため送信ポートを「25」から「587」に変更すると無事メールを送信することができました。備忘録を兼ねて手順を記録しておきます。

目的・概要

メール配信専用のサーバを構築します。

作業の流れは、以下の通りです。

  1. レンタルサーバのConoHaを使ってCentOS8.2(64bit)の環境を構築する
  2. Postfixをインストールしメールサーバを構築する
  3. メールの送信テストを実施する

手順

レンタルサーバのConoHaを使ってCentOS8.2(64bit)の環境を構築します。テンプレートを使用すれば1、2分で完了です。OSの構築が完了したらsshでリモート接続して各種設定を実施します。

Firewall

サービスの停止

#systemctl stop firewalld.service

サービスの自動起動解除

#systemctl disable firewalld.service

Postfix

インストール

#yum -y install postfix

設定変更

/etc/postfix/main.cf

#vi /etc/postfix/main.cf
inet_interfaces = localhost

inet_interfaces = all

mynetworks = 168.100.189.0/28, 127.0.0.0/8

mynetworks = xxx.xxx.xxx.xxx/32, 127.0.0.0/8
確認くんなどのサイトでグローバルIPを確認して入力します。

/etc/postfix/master.cf

#vi /etc/postfix/master.cf
17行目 コメント解除
#submission inet n - n - - smtpd

submission inet n - n - - smtpd

20行目 コメント解除
#-o smtpd_sasl_auth_enable=yes

-o smtpd_sasl_auth_enable=yes

設定のチェック

postfixには設定ファイルの誤りをチェックするためのコマンド”postfix check”が用意されています。このコマンドで設定ファイルのチェックを実施します。コマンドを実行して何も表示されなければ問題ありません。

#postfix check

サービスの再起動

#systemctl restart postfix

メール送信テスト

C:\> telnet IPアドレス 587

helo localhost
mail from:送信元メールアドレス
rcpt to:宛先メールアドレス
data
testmail
.
quit

これでメールが届きました。いくつかのメールアドレスで試したところ、セキュリティが高いGmailではスパムの疑いがあると判定されてブロックされました。
https://support.google.com/mail/answer/188131

Gmailでメールを届かせるにはPostfixにセキュリティを考慮した設定が必要になります。これは追々調査して検証していきたいと思います。

コメント