Postfix
インストール
sudo dnf -y install postfix
ファイアウォールの設定を変更します。
sudo firewall-cmd --permanent --add-service=smtp --zone=public
postfix の設定ファイルである「 main.cf 」のファイルをコピーしておきます。
sudo cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org
設定の変更
「 example.com 」の部分を独自ドメインに変更してください。
コピーしたファイルを変更していきます。
sudo vi /etc/postfix/main.cf
「 myhostname 」を次のように変更します。
myhostname = mail.example.com
「 mydomain 」を次のように変更します。
mydomain = example.com
masquerade_domains = example.com
「 myorigin 」を次のように変更します。
「 inet_interfaces 」を次のように変更します。
「 mydestination 」を次のように変更します。
この設定で「 $mydomain 」を設定しておかないと、メールが送信できず、「 mail loops back to myself 」といったエラーメッセージが出る可能性が高いです。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
DNS レコードの設定
次の画像は、「 Xserver VPS 」の DNS 設定画面です。
IP アドレスが「 xxx.xxx.xxx.xxx 」、ホスト名が「 {hostname} 」、独自ドメインが「 example.com 」の場合、DNS レコードを以下のように設定します。
ホスト名 |
example.com |
種別 |
TXT |
内容 |
v=spf1 +a:s{hostname}.xserver.jp +a:example.com +mx include:spf.sender.xserver.jp ~all |
TTL |
3600 |
優先度 |
0 |
ホスト名 |
mail.example.com |
種別 |
A |
内容 |
xxx.xxx.xxx.xxx |
TTL |
3600 |
優先度 |
0 |
ホスト名 |
example.com |
種別 |
MX |
内容 |
mail.example.com |
TTL |
3600 |
優先度 |
0 |
テストメール
メールアドレスの @ より前の部分はユーザー名を指定します。
ユーザー名が「 user 」の場合のメールアドレスは、「 user@example.com 」です。
sendmail -t <<EOL
From: user@example.com
To: send_user@example.com
Subject: test mail
test mail
Hello, World
EOL
メールのログファイルを確認してみます。ログファイルは「 sudo less /var/log/maillog 」で確認できます。
メールのログを確認して「 status=sent (250 2.0.0 OK ....) 」だとメールが送信されたことになります。
メールの件名を省略すると、メールのログでは送信されているのに、送信先の受信ボックスに入っていない場合があります。
その場合は、迷惑メールフォルダに入っている場合があります。