CentOS Postfix

CentOSとPostfixを使って送信専用のメールサーバーを構築する方法

2018年10月11日

centos-postfix-setting-top

最近ではクラウドでのSaaSによるメールサービス(GoogleのG SuiteやMicrosoftのOffice365など)が一般的になり、以前ほどメールサーバーを構築する機会も少なりましたが、この辺りでメールサーバーの構築手順をおさらいしておきたいと考えるようになりました。

以前のようにメールフローやメールシステムのことを考えないときにこそ、初心に戻ってメールサーバーの構築手順を一から確認したいと思います。
メールサーバーを構築することで、メールフローやメールのバックエンドの動作を理解できる、またメールに関するトラブルシューティングを行う際にもフローのイメージが出来、短時間で収束できるようになるはず。
是非、本記事を含むメールサーバーの構築の基礎(全4回)で、メールサーバーを構築して、メールシステムについての理解を深めて下さい。最終的にはセキュアなメールサーバーの構築をゴールとしています。

メールサーバー構築の基礎 全4回

centos-postfix-setting-top1

CentOS Postfix

CentOSとPostfixを使って送信専用のメールサーバーを構築する方法

最近ではクラウドでのSaaSによるメールサービス(GoogleのG SuiteやMicrosoftのOffice365など)が一般的になり、以前ほどメールサーバーを構築する機会も少なりましたが、この辺 ...

mail-postfix-top2

CentOS Dovecot Postfix

CentOSのPostfixとDovecotで送受信ができるメールサーバーを構築

前回の記事ではCentOSにインストールしたPostfixでメールを送信できるようにするところまでの設定手順を紹介しました。今回は同じ環境を使ってメールの送信と受信ができるところまでの設定手順を紹介し ...

centos-postfix-dovecot-ssl-top3

CentOS Dovecot Postfix

CentOSのPostfixとDovecotにSSLを設定して安全に通信を行う

前回の記事ではメールサーバーとしての基本的な機能である送信(SMTP)と受信(POP3/IMAP)を行うことが出来るように設定を行いました。 この状態でも運用には問題ありませんが、メールサーバーとクラ ...

centos-postfix-dkim-top4

CentOS Postfix

CentOSのPostfixで迷惑メール判定されないようDKIMを設定する

構築したメールサーバーから送信したメールが迷惑メールとして識別されたことはありませんか? このような場合は、送信したメールが経由するメールサーバーのなりすましメール対策に引っかかっている場合が殆どです ...

初回になる本記事では送信専用のメールサーバーの構築手順から紹介していきます。段階的に機能を実装する手順を紹介していきますので、お付き合いください。

1. メールサーバーを構築する環境

今回の記事では最初の一歩として、送信専用のメールサーバーを構築します。例えばウェブサイトのお問い合わせフォームや、自動処理の結果をメールするための設定で、のサーバーからメールを中継せずに、自身からのみメールを配信する構成です。意外にも、この辺りについて設定ができてない場合が多く見受けられます。もしこのような構成を運用している場合には、再度、本記事を元に設定を確認してみるのも良いかと思います。

メールサーバーを構築する場合、OSはLinuxがお勧めです。理由としてWindowsではメールサーバー用のソフトウェアとして適当なものが無く、また外部に公開するのにやや堅牢さに欠ける部分があるからです。

注意

代表的なIaaSのクラウドサービス、Amazon Web ServiceEC2Google Cloud PlatformのCompute engine環境ではメールの配信に必要なTCPポートがブロックされています。これは迷惑メールを配信するためのサーバー利用を拒否するためです。折角、メールサーバーの設定を行ってもメールが配信できませんので、クラウドサービスの利用には注意してください。

本記事ではLinux構築に関する2つのブログ記事で構築したCentOS 7の環境を利用してメールサーバーをセットアップしていきます。

CentOS
centos76-install-thu
CentOS 7.6をインストール Linuxのインストールは難しくありません

2018年12月3日にCentOSの最新リリースである7.6(Build 1810)がリリースされました。以前にCentOSのインストール方法を記事にしてから随分と時間が経ちましたので、この辺りで再度 ...

CentOS
centos7-first-setting-top
CentOS 7のインストール後におこなうLinuxの基本設定 13ポイント

CentOS 7(バージョン7.0~7.6)のインストール完了後に、設定する最低限のポイントを13点纏めてみました。(2019年6月に追加)本記事で紹介した手順は一例で、これ以外にもサーバーを構築する ...

OS以外の環境は以下のようになっています。

サーバーとネットワークの環境

  • サーバーにはパブリックの固定IPが割り当てられています
  • ドメインはtestdom.comを利用
  • ホスト名にはmailを設定
  • メールサーバーは配送専用として、リレーなどは出来ない構成

以上の環境を元に、メールサーバーの構築を進めていきます。

2. メール配送用プログラム(MTA)の確認

メールを配送するためにはメール配送用プログラム(Mail Transfer Agent、以下MTA)が必要になります。Linuxで利用できるMTAは現在Postfixというプログラムが主流になっています。Postfixは本記事で利用するLinux、CentOSをインフラストラクチャーサービスとしてセットアップした場合にはインストールされていますので、追加で導入する必要はありません。

2-1. postfixインストールの確認

PostfixがCentOSにインストールされているかの確認については、"yum list"コマンドを実行します。

 command
$ yum list installed | grep postfix

コマンドを実行して、以下のようにpostfixの名前が表示されれば利用しているOSにpostfixはインストールされています。

 command
$ yum list installed | grep postfix
postfix.x86_64 2:2.10.1-6.el7 @anaconda

もし何も表示されない場合、postfixはインストールされていませんので、項目2-2. に記載した手順でpostfixのインストールを行います。

2-2. postfixのインストール

項目2-1. でpostfixがインストールされていないことが確認できた場合、本項目の手順でpostfixをインストールします。
postfixは"yum install"コマンドを実行してインストールします。

 command
# yum -y install postfix

コマンドを実行すると以下のようにパッケージインストールが始まります。

 log
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cat.net
* extras: mirrors.cat.net
* updates: mirrors.cat.net
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ postfix.x86_64 2:2.10.1-6.el7 を インストール
--> 依存性解決を終了しました。依存性を解決しましたインストール中:
postfix x86_64 2:2.10.1-6.el7 base 2.4 Mトランザクションの要約
インストール 1 パッケージ総ダウンロード容量: 2.4 M
インストール容量: 12 M
Downloading packages:
postfix-2.10.1-6.el7.x86_64.rpm | 2.4 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : 2:postfix-2.10.1-6.el7.x86_64 1/1
検証中 : 2:postfix-2.10.1-6.el7.x86_64 1/1インストール:
postfix.x86_64 2:2.10.1-6.el7 完了しました!

画面に「完了しました!」と表示されればpostfixはインストールされています。
再度yum listコマンドを実行してpostfixパッケージが表示されることを確認します。

 command
$ yum list installed | grep postfix
postfix.x86_64 2:2.10.1-6.el7 @anaconda

上記のようにpostfixのパッケージ名が表示されれば、インストールは完了です。

3. postfixの基本的な設定

続いてpostfixをインストールしたサーバーからメールを送信するための基本的な設定を行っていきます。
項目2. の手順までで、postfixパッケージの導入(または確認)までが完了しました。ここからは配送用メールサーバーを運用するにあたって最低限、必要になる設定を行います。設定の前提は以下の通りです。

Postfixを設定するための前提

  • メールの配信時に表示されるドメイン名の設定を行う
  • メールはサーバーから配信専用に設定
  • スパムメール対策としてメールリレーを許可しない
  • メールサーバー自身では外部からメールを受け取らない

上記のの条件に合わせてpostfixの設定を行っていきます。

3-1. postfixのデフォルト設定確認

postfix導入時の初期設定については、postconfコマンドで確認ができます。postconfコマンドはpostfixの設定ファイルを要約した結果を表示するコマンドです。”-d”オプションはデフォルト値が全て取得できますが、余りに項目が多いため、デフォルトパラメーターとは異なる設定のみを明示的に表示する”-n”オプションを付与します。
以下のように実行します。

 command
# postconf -n

コマンドを実行すると、以下のように設定内容の要約が表示されます。

 log
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

postconfコマンドで表示される設定内容は、postfixの設定ファイルであるmain.cfから取得しています。main.cfはパッケージからpostfixを導入した場合には”/etc/postfix/”ディレクトリ以下に配置されています。/etc/postfixは以下のようなディレクトリツリーとファイル構成になります。

/etc/postfix
|-- access
|-- canonical
|-- generic
|-- header_checks
|-- main.cf
|-- master.cf
|-- relocated
|-- transport
|-- virtual.db
`-- virtual

このディレクトリに含まれるファイル、main.cfを変更していきます。

3-2. main.cfの変更

postfixの設定ファイルであるmain.cfの編集前に、編集前のファイルをバックアップしておきます。具体的には以下の手順でコピーを行います。

 command
# cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org

cpコマンドでmain.cfに.orgを付けてファイルをコピーしました。これでバックアップは完了です。
バックアップの完了後、エディタで設定ファイルを開いて変更を行います。本記事ではOSの標準的なエディタである、viエディタを利用しています。

 command
# vi /etc/postfix/main.cf

main.cf設定ファイルが開きます。具体的は変更ポイントは以下になります。

3-2-1. myhostnameパラメータ

"myhostname"パラメーターには、メールサーバーのホスト名を設定します。この設定はFQDN(ホスト名+ドメイン名)で指定します。デフォルトの設定ではhostnameコマンドで表示されるローカルホスト名(本環境ではmail)が設定されます。
本環境ではホスト名がメールサーバーの名前を示していますが、例えばウェブサーバー用のホスト名でwwwなどを指定していた場合は、そのままだと分かり難いため、本パラメーターにメールサーバー用のFQDNを指定します。
以下のように設定しました。(設定ファイルの該当場所を抜粋しています。)

 code
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.testdom.com

3-2-2. mydomainパラメータ

メールのドメインを設定するパラメータが"mydomain"になります。mydomainはデフォルトでは項目3-2-1.の"myhostname"パラメータに設定したドメイン名が利用されます。myhostnameが適切に設定されていれば、ここでの設定は不要ですが、念のため設定を行っておきます。ドメイン名がmyhostnameに設定したドメインと異なる場合には必須の項目です。
以下のように設定しました。(設定ファイルの該当場所を抜粋しています。)

 code
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = testdom.com

3-2-3. inet_interfacesパラメータ

"inet_interfaces"パラメータはメールを受け取りインターフェイスを指定します。デフォルトの設定はlocalhostとなり、この場合にはlocalhost(自分自身)からのメールのみ受け取る設定になります。
今回の記事で構築する環境では、配送専用のメールサーバーになりますのでデフォルトからの変更を行いません。(他のメールサーバーから接続できないため、配信専用になります。)通常のメールサーバーのようにメールを配送するためには、このパラメータをallに設定します。

 code
# RECEIVING MAIL# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost

3-2-4. inet_protocolsパラメータ

"inet_protocols"はpostfixが待ち受けを行うプロトコル(IPv4 or IPv6を指定します。デフォルト値はallとなり、ipv4とipv6の両方で待ち受けを行います。もしIPv4のみを利用する場合は、このパラメータを

 code
inet_protocols = ipv4

と指定します。本記事では、デフォルト値のままで変更を行いません。例えば環境によってはIPv6を無効にしている場合もあると思います。その場合はIPv4を明示的に指定します。

 code
# Enable IPv4, and IPv6 if supported
inet_protocols = all

3-2-5. masquerade_domainsパラメータ

"masquerade_domains"パラメータは送信元メールアドレスのサブドメイン部分(ホスト名の部分)を削除するオプション設定です。
このパラメータを指定しない場合、送信元が以下のような形で表示されます。

test@mail.testdom.com

通常、メールアドレスにはサブドメインは表示しないパターンが多いかと思います。本記事でもサブドメインを表示しないようにパラメータを設定します。オプションのため、設定ファイルには項目がありません。
設定ファイルの最下行に以下のように追加します。

 code
masquerade_domains = testdom.com

3-3. main.cf 設定後の確認

上記の5点で配送用メールサーバーの基本的な設定は完了です。
再度、postconfコマンドで設定を確認します。本設定を行った後の出力結果は以下のようになりました。

 command
# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
masquerade_domains = testdom.com
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = testdom.com
myhostname = mail.testdom.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

出力結果を確認して、設定を変更した内容が正常に反映されていることを確認します。
postfixには設定ファイルの誤りをチェックするためのコマンド”postfix check”が用意されています。
このコマンドで設定ファイルのチェックも行っておきます。

 command
# postfix check

エラーが表示されなければ、設定ファイルには問題がありませんので、確認は完了です。

3-4. main.cf設定ファイル、変更の反映

設定ファイルの変更が完了しましたので、変更した設定を反映するためにpostfixを再起動します。systemctlコマンドを以下のように実行します。

 command
# systemctl restart postfix

もしpostfixが起動されていない環境の場合には、restartではなく”start”を指定します。
以下のように実行します。

 command
# systemctl start postfix

どちらの場合もエラーが無ければ、正常に起動と再起動は実行されています。
再起動後にpostfixのステータスを確認します。

 command
$ systemctl status postfix
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
Active: active (running) since 水 2018-10-10 16:05:44 JST; 4s ago
Process: 2458 ExecStop=/usr/sbin/postfix stop (code=exited, status=0/SUCCESS)
Process: 2477 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS)
Process: 2475 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
Process: 2473 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS)
Main PID: 2549 (master)
CGroup: /system.slice/postfix.service
tq2549 /usr/libexec/postfix/master -w
tq2550 pickup -l -t unix -u
mq2551 qmgr -l -t unix -u

表示された上記のステータスから、postfixが正常に起動していることが確認できました。
ここまでで、postfixのメール配送について最低限の設定が完了しました。

3-5. postfix自動起動の設定

サーバーの再起動や停止の復旧時にpostfixが自動的に起動するように設定します。postfixはインフラストラクチャーの場合、自動起動が設定済みになっていると思います。以下のコマンドで確認を行い、自動起動が有効になっていない場合のみ、有効にして下さい。確認は以下のようにコマンドを実行します。

 command
# systemctl is-enabled postfix
enabled

実行結果として“enabled”と表示されれば自動起動は有効になっています。
postfixに自動起動が設定されていない場合(disabledと表示された場合)には以下のコマンドを実行してpostfixの自動起動を有効にします。

 command
# systemctl enable postfix

エラーが出力されなければ、自動起動は設定が完了しています。

4. メール配送の確認

メールの設定が完了しましたので、実際にテスト用のメールを配送してみます。telnetコマンドを利用してSMTPプロトコルでメールサーバーへ接続します。以下のように実行します。
尚、telnetコマンドが無い場合は

 command
# yum -y install telnet

でtelnetパッケージをインストールして下さい。

4-1. telnetでのSMTP接続

telnetコマンドを利用してのSMTP接続は以下のように実行します。具体的には telnet アドレス ポート名になります

 command
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 smtp.testdom.com ESMTP Postfix

正常に接続できると、リターンコード220の応答があり、入力待ち状態に入ります。
heloコマンドで応答します。localhostの部分は任意です。

 command
helo localhost
250 mail.testdom.com

リターンコード250が返ってきます。続いて、送信元のメールアドレスを入力します。”mail from:”コマンドを使います。

 command
mail from:test@testdom.com
250 2.1.0 Ok

リターンコード250で正常に受け付けられました。次に送信先メールアドレスを入力します。”rcpt to:”コマンドを使います。
メールアドレスは実際に確認ができるメールアドレスにして下さい。

 command
rcpt to:support@remsys.co.jp
250 2.1.5 Ok

メール本文を入力します。”data”コマンドを利用します。

 commanddata
354 End data with .
testmail

testmailと本文を書きました。入力の終わりには.(ドット)を入力します。

 command.
250 2.0.0 Ok: queued as 0C28E6DAC7

メールがキューに入った旨が表示されれば、メールの送信は完了です。quitコマンドでSMTP接続を切断します。

 command
quit
221 2.0.0 Bye
Connection closed by foreign host.

4-2. メールログの確認

これだけだとメールが配送できたかの確認ができませんので、メールログを確認してみます。
メールログは”/var/log/maillog”に保存されています。lessコマンドなどでログを表示して、メールが配送されているかを確認してみます。
以下のように実行します。

 command
# less /var/log/maillog
Oct 10 16:08:22 mail postfix/smtpd[2555]: 0C28E6DAC7: client=localhost[127.0.0.1]
Oct 10 16:08:30 mail postfix/cleanup[2558]: 0C28E6DAC7: message-id=<20181010070822.0C28E6DAC7@mail.testdom.com>
Oct 10 16:08:30 mail postfix/qmgr[2551]: 0C28E6DAC7: from=<testuser01@testdom.com>, size=317, nrcpt=1 (queue active)
Oct 10 16:08:33 mail postfix/smtp[2559]: 0C28E6DAC7: to=<sup@remsys.co.jp>, relay=r*************.com[23.103.139.138]:25, delay=30, delays=27/0.06/1.1/2.1, dsn=2.6.0, status=sent (250 2.6.0 <20181010070822.0C28E6DAC7@mail.testdom.com> [InternalId=20465519166791, Hostname=***********.com] 7634 bytes in 0.339, 21.934 KB/sec Queued mail for delivery)

※ログの一部を伏せています。
ログを見ると、fromとtoが正常に処理されて、リレー先のメールサーバーに渡されていることが確認できます。上記からメールが正常に配送されたことが確認できました。基本的には赤字部分の

status=sent (250..)
Queued mail for delivery

がSMTPログに含まれていれば、メールについては配送されていると思って間違いありません。
実際に配送先のメールボックスを確認してメールが配送されていることを確認して下さい。(配送されていない場合には迷惑メールボックスを確認して下さい。)

5. 迷惑メールへの対応 SPFレコード

配送されたメールですが、少しセキュリティレベルの高いメールサーバーを経由する場合、迷惑メールとして処理されることがあります。これは配送されたメールが迷惑メールでない事を証明する設定であるSPF(Sender Policy Framework:送信元認証用の設定)やDKIM(Domainkeys Identified Mail:メール用電子署名)といった設定が行われていないためです。

本記事では比較的簡単に設定できる方法としてSPFの設定方法を紹介します。SPFを設定した場合でも、完全に迷惑メールとして認識されないということはありませんが、設定しておくことで、迷惑メールとして処理される率が随分と低くなります。
参考 DKIMの設定については記事

Open Source
centos-postfix-dkim-top
CentOSのPostfixで迷惑メール判定されないようDKIMを設定する

構築したメールサーバーから送信したメールが迷惑メールとして識別されたことはありませんか? このような場合は、送信したメールが経由するメールサーバーのなりすましメール対策に引っかかっている場合が殆どです ...

に詳しく説明しています。合わせて参考にしていただければ幸いです。

5-1. SPFの設定

SPFはメールサーバー側で設定する機能ではなく、DNS側に設定するものになります。ドメインのDNSレコードのうち、付帯情報を追加するためのレコードである”txt”レコードとしてSPFを登録します。本環境ではメールサーバーのIPアドレスが110.20.3.145で、ドメイン名が”testdom.com”になりますので、txtレコードは以下のようになります。

testdom.com. 500 IN TXT "v=spf1 +ip4:110.20.3.145 -all"

txtレコード設定追加の方法は利用しているドメインの取得業者(レジストラ)によって異なりますが、弊社で良く利用しているAmazon Web Service (AWS)のドメイン管理機能”route53”では以下のように設定します。

postfix-mail01-5-1-1

お名前.comの場合は以下のようになります。

postfix-mail01-5-1-2

各ドメインのゾーン設定完了後には、有効になるように設定を保存します。

5-2. SPFの設定確認

SPFの動作確認ですが、Linuxサーバーからdigコマンドで確認します。
dnsの動作確認に利用するhostコマンドはbind-utilsパッケージに含まれています。このパッケージはCentOSをインフラストラクチャーでインストールした場合には含まれていませんので、yumコマンドで以下のようにインストールを行います。
※既にbind-utilsパッケージがインストールされている場合、本手順は不要です。

 command
# yum -y install bind-utils

bind-utilsパッケージをインストールすることで、digコマンドが利用できるようになります。txtレコードを確認するためにはいかのようにdigを実行します。尚、DNSの設定後、反映まで30分ほどかかる場合があります。

 command
$ dig @8.8.8.8 testdom.com txt

@で指定している8.8.8.8はGoogleのDNSキャッシュサーバーになります。
txtレコードが設定されていると、以下のように応答があります。

 log
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> @8.8.8.8 testdom.com txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55530
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;testdom.com. IN TXT;; ANSWER SECTION:
testdom.com. 499 IN TXT "v=spf1 +ip4:110.20.3.145 -all";; Query time: 255 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 水 10月 10 16:21:31 JST 2018
;; MSG SIZE rcvd: 84

上記のように応答が返ってくればSPFは正常に設定されています。SPFが有効になるとメールヘッダーに以下のような出力されます。

Authentication-Results: spf=pass (sender IP is 110.20.3.145)

一度、確認してみて下さい。

6. まとめ

メールサーバーの構築手順として、先ずは送信専用の設定を紹介しました。配信専用のメールサーバーはウェブサーバー上でフォームを利用する場合など、利用するシチュエーションが多いので、この機会におさらいしておくと良いかと思います。
postfixの場合、デフォルトの設定でも配信できますので、余り設定変更されていないサーバーも多いのですが、配信されたメールを見ると、「おやっ?」と思うことがあります。
きちんと設定を変更しておくことで、迷惑メールと認識されにくくなりますので、既に運用を行っている方は、是非、設定を確認してみて下さい。
次回は本環境を利用して、外部からメールを受けることが出来る設定と、受信を行うことができる設定を紹介していきます。

Linuxの運用や設定でお悩みの時には

linux-support-cta-img

ブログ記事で紹介されている「Linuxインストール」「OSSアプリケーションの設定」などを試してみたが、なぜかうまくいかない...
Linuxの運用や管理、障害で困っている。
そんなときのために「Linuxサポートサービス」を用意しています。
以下のようなことでお悩みの場合にはLinuxサポートサービスがオススメです。

  • Linuxに詳しい人が周りにいないので問題点について聞くことができない
  • オープンソースのソフトウェアを使いたいが、きちんと設定ができるかが不安
  • 記事を読んでLinuxのインストールを試してみたがうまくインストールができない
  • SambaやApacheが思ったように動かないが、どこが悪いかが分からない
  • Linuxシステムのサポートや運用をおこなう人員がいない

 

Linuxサポートサービスを詳しく見る


レムシステムでは、ブログで紹介した設定ができない場合や、利用中のサーバー・ネットワークについての相談を受け付けています。利用中のシステムやセットアップでお困りの点がございましたら、お気軽にご相談ください。

メールでのお問い合わせ

メールフォームからシステムの
知りたいことや問題点をお問い合わせ

メールで問い合わせる

電話でのお問い合わせ

電話でお気軽にお問い合わせください
(受付時間:平日10:00〜18:00)

053-525-7357

  • この記事を書いた人
  • 最新記事
レムシステム

小村定

SIerでIT系インフラの設計と構築を経験したのちに独立、「レムシステム株式会社」を設立する。インフラ系エンジニア歴20年の経験を活かしてITに関わる課題解決や効率化に取り組む日々を送っている。

Copyright© レムシステム エンジニアブログ , 2019 All Rights Reserved.