Postfix 3.3 作成の続き。
メールが外部から届くようにする。
シングルドメイン版、つまり、Unixのユーザ名=(イコール)メールアドレスとなります。
postfix 3.3 受け入れるドメイン名を指定
vi /etc/postfix/main.cf
#mydomain = domain.tld
mydomain = (ドメイン名)
#mydomain = domain.tld
mydomain = (ドメイン名)
↑「mydomain」にドメインを指定します
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.(ドメイン名)
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.(ドメイン名)
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.(ドメイン名)
↑「myhostname」にも追加します
ネットワーク、すべてから受信を可能にする
#inet_interfaces = localhost
#inet_interfaces = localhost
inet_interfaces = all
#inet_interfaces = localhost
inet_interfaces = all
↑すべてのネットワークから、メールが受信できるように「all」と指定します。
リレーの設定をする
# systemctl restart postfix
# systemctl restart postfix
# systemctl restart postfix
postfix、再起動をする。
Connected to mail.(ドメイン名).
Escape character is '^]'.
# telnet mail.(ドメイン名) 25
Trying (IPアドレス)...
Connected to mail.(ドメイン名).
Escape character is '^]'.
# 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
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
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
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
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
# systemctl restart postfix
# systemctl restart postfix
再び再起動
Connected to mail.(ドメイン名).
Escape character is '^]'.
220 mail.(ドメイン名) ESMTP Postfix
# telnet mail.(ドメイン名) 25
Trying (IPアドレス)...
Connected to mail.(ドメイン名).
Escape character is '^]'.
220 mail.(ドメイン名) ESMTP 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
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↑上が有効だったが、下を有効にする。
そのほか、AWSのセキュリティグループで25番を解放する
telnetで、外から25番ポートを叩いてみる。
Connected to mail.(ドメイン名).
Escape character is '^]'.
220 mail.(ドメイン名) ESMTP Postfix
RCPT TO:info@(ドメイン名)(送信先メールアドレス)
354 End data with <CR><LF>.<CR><LF>
250 2.0.0 Ok: queued as 1CB2849E13A
Connection closed by foreign host.
# 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.
# 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
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
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/
mkdir -p /etc/skel/Maildir/new
mkdir -p /etc/skel/Maildir/cur
mkdir -p /etc/skel/Maildir/tmp
chmod -R 700 /etc/skel/Maildir/
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で、作成をしたときに、メールボックスが自動的に作成されるようにする。
Changing password for user info.
BAD PASSWORD: The password is shorter than 7 characters
passwd: all authentication tokens updated successfully.
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
# /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
# /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がある行)を削除
systemctl restart postfix
newaliases
systemctl restart postfix
newaliases
systemctl restart postfix
ls -al /home/info/Maildir/new/
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
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
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)がキモのような気がする。