Postfix 3.3 作成の続き。
メールが外部から届くようにする。
シングルドメイン版、つまり、Unixのユーザ名=(イコール)メールアドレスとなります。
postfix 3.3 受け入れるドメイン名を指定
vi /etc/postfix/main.cf
#mydomain = domain.tld mydomain = (ドメイン名)
↑「mydomain」にドメインを指定します
#myhostname = host.domain.tld #myhostname = virtual.domain.tld myhostname = mail.(ドメイン名)
↑「myhostname」にも追加します
ネットワーク、すべてから受信を可能にする
#inet_interfaces = localhost inet_interfaces = all
↑すべてのネットワークから、メールが受信できるように「all」と指定します。
リレーの設定をする
# systemctl restart postfix
postfix、再起動をする。
# telnet mail.(ドメイン名) 25 Trying (IPアドレス)... Connected to mail.(ドメイン名). Escape character is '^]'.
↑外からのリレーで反応なし
/var/log/maillog
にエラーが出ていた。
fatal: in parameter smtpd_relay_restrictions or smtpd_recipient_restrictions, specify at least one working instance of: reject_unauth_destination, defer_unauth_destination, reject, defer, defer_if_permit or check_relay_domains
smtpd_relay_restrictions
か
smtpd_recipient_restrictions
を設定しないとけないみたい!
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
↑という行を、inet_interfacesの行の後ろあたりに付け加える。
permit_mynetworks
「mynetworksからのリレーを許可」
permit_sasl_authenticated
「SASL認証経由のリレーを許可」
defer_unauth_destination
「宛先不明のリレーを拒否」
外からのメール受信をチェック
# systemctl restart postfix
再び再起動
# telnet mail.(ドメイン名) 25 Trying (IPアドレス)... Connected to mail.(ドメイン名). Escape character is '^]'. 220 mail.(ドメイン名) ESMTP Postfix
↑と、反応があった
#mydestination = $myhostname, localhost.$mydomain, localhost mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↑上が有効だったが、下を有効にする。
そのほか、AWSのセキュリティグループで25番を解放する
telnetで、外から25番ポートを叩いてみる。
# telnet mail.(ドメイン名) 25 Trying 13.231.108.239... Connected to mail.(ドメイン名). Escape character is '^]'. 220 mail.(ドメイン名) ESMTP Postfix helo x 250 mail.(ドメイン名) MAIL FROM:(送信元アドレス) 250 2.1.0 Ok RCPT TO:info@(ドメイン名)(送信先メールアドレス) 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject:test1 test2. . 250 2.0.0 Ok: queued as 1CB2849E13A quit 221 2.0.0 Bye Connection closed by foreign host.
送信はできたようだ
Aug 9 22:24:55 ip-10-0-0-91 postfix/smtpd[4201]: connect from (送信元) Aug 9 22:25:21 ip-10-0-0-91 postfix/smtpd[4201]: 1CB2849E13A: client=送信元 Aug 9 22:25:45 ip-10-0-0-91 postfix/cleanup[4205]: 1CB2849E13A: message-id=<> Aug 9 22:25:45 ip-10-0-0-91 postfix/qmgr[4159]: 1CB2849E13A: from=<送信元メール>, size=207, nrcpt=1 (queue active) Aug 9 22:25:45 ip-10-0-0-91 postfix/local[4206]: 1CB2849E13A: to=<root@mail.(ドメイン名)>, orig_to=<info@(ドメイン名)>, relay=local, delay=34, delays=34/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir) Aug 9 22:25:45 ip-10-0-0-91 postfix/qmgr[4159]: 1CB2849E13A: removed Aug 9 22:25:52 ip-10-0-0-91 postfix/smtpd[4201]: disconnect from (送信元) helo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
info@宛てのメールは届いたが、root宛てに転送された
メールボックスを作成、転送を解除
info@宛てのメールボックスを作成する
mkdir -p /etc/skel/Maildir/new mkdir -p /etc/skel/Maildir/cur mkdir -p /etc/skel/Maildir/tmp chmod -R 700 /etc/skel/Maildir/
useraddで、作成をしたときに、メールボックスが自動的に作成されるようにする。
# /sbin/useradd info # passwd info Changing password for user info. New password: BAD PASSWORD: The password is shorter than 7 characters Retype new password: passwd: all authentication tokens updated successfully. # cd /home/info/ # ls -al total 12 drwx------ 3 info info 77 Aug 10 19:06 . drwxr-xr-x 5 root root 49 Aug 10 19:06 .. -rw-r--r-- 1 info info 18 Oct 25 2017 .bash_logout -rw-r--r-- 1 info info 193 Oct 25 2017 .bash_profile -rw-r--r-- 1 info info 231 Oct 25 2017 .bashrc drwx------ 5 info info 39 Jul 20 20:36 Maildir
ユーザを作成、パスワードを設定。
/home/info以下に、Maildirができていることを確認
aliasの設定を変更する。
info宛てが転送されないようにする。
/etc/postfix/main.cf
で、
alias_maps = hash:/etc/aliases
となっているのを確認
vi /etc/aliases
で、
info
のところ(先頭にinfoがある行)を削除
newaliases systemctl restart postfix
ls -al /home/info/Maildir/new/ total 12 drwx------ 2 info info 255 Aug 10 19:28 . drwx------ 5 info info 39 Jul 20 13:36 .. -rw------- 1 info info 310 Aug 10 19:26 1533868017.XXXXX.ap-northeast-1.compute.internal -rw------- 1 info info 691 Aug 10 19:28 1533868114.XXXXX.ap-northeast-1.compute.internal -rw------- 1 info info 1103 Aug 10 19:28 1533868124.XXXXX.ap-northeast-1.compute.internal
メールが到着!遅れていたメールも順次到着!
まとめ
Postfix 3.3 シングルドメインのメールボックスは、最低限の手順で作成できる。
リレーの設定変更(smtpd_relay_restrictions)がキモのような気がする。