Postfix 3.4 [SSL 送受信] CentOS7(マルチドメイン)
↑こちらもご覧ください。記事が新しいです。
Postfix3.3 マルチドメイン ソース版 dovecot 設定では、pop3ポートでの受信ができました。
今度は、587ポートでのSMTP認証の設定です。
受信POP3の確認
外部から、Postfix、POPサーバーへの受信して、ログを見てみます。
>>> Connecting to "XXX.XXX.XXX.XXX" [2018/XX/XX 16:40:44] <<< +OK Dovecot ready. USER (メールアドレス) +OK PASS (パスワード) +OK Logged in. STAT +OK 4 3264 LIST +OK 4 messages: 1 647 2 702 3 702 4 1213 . UIDL +OK 1 000000015ba10240 2 000000025ba10240 3 000000035ba10240 4 000000045ba10240 . RETR 1 +OK 647 octets RETR 2 +OK 702 octets RETR 3 +OK 702 octets RETR 4 +OK 1213 octets QUIT +OK Logging out.
上記のとおり、4通のメールを受信しました。
SMTP 587 ポートでの送信をチェック
試しに、送信をしてみます。
>>> Connecting to "XXX.XXX.XXX.XXX" [2018/XX/XX 16:41:59] <<< 421 Cannot connect to SMTP server XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX:587), connect error 10061
とエラーになります。
Postfixのサーバー上でも試してみます。
# telnet localhost 587 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused
ポート自体が空いていません(笑)
postfixで、587ポートを空けてSMTP AUTHの設定します。
# vi /etc/postfix/master.cf --------------------------------- #tlsproxy unix - - n - 0 tlsproxy #submission inet n - n - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_tls_auth_only=yes # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject --------------------------------- ↓ --------------------------------- #tlsproxy unix - - n - 0 tlsproxy submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
上記、2行分、コメントを外して(有効にして)、postfixを再起動します。
試しに外部から送信してみます。
>>> Connecting to "XXX.XXX.XXX.XXX" [2018/XX/XX 16:01:24] <<< 220 (postfixホスト名) ESMTP Postfix EHLO [127.0.0.1] 250-(postfixホスト名) 250-PIPELINING 250-SIZE 20480000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN RSET 250 2.0.0 Ok MAIL FROM:<(差出人メールアドレス)> 250 2.1.0 Ok RCPT TO:<(宛先人メールアドレス)> 554 5.7.1 <(宛先人メールアドレス)>: Relay access denied QUIT 221 2.0.0 Bye
エラーとなります。
/var/log/maillog
をみると、
「Oct XX XX:XX:24 (ホスト名)postfix/smtpd[XXXX]: warning: smtpd_sasl_auth_enable is true, but SASL support is not compiled in」
とエラー。
「SMTP authが有効となっているが、コンパイルされていないよ」
と・・・
Postfix 3.3 コンパイルしなおし
ということで、SMTP AUTHを有効にしてコンパイルから行います。
# make makefiles CCARGS='-DUSE_SASL_AUTH -DHAS_MYSQL -DDEF_SERVER_SASL_TYPE=\"dovecot\" -I/usr/local/include -I/usr/include/mysql/' AUXLIBS="-lssl -lcrypto -L/usr/local/lib" 'AUXLIBS_MYSQL=-L/usr/lib64/mysql -lmysqlclient -lz -lm'
と、「-DUSE_SASL_AUTH」
をつけて、設定をします。
そして、
make
make install
のあと、再び、postfixのサーバーから、587を叩いてみます。
# telnet localhost 587 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. #
と、落ちてしまう(笑)。
Oct XX XX:XX:24 (ホスト名)postfix/smtpd[XXX]: warning: SASL: Connect to private/auth failed: No such file or directory Oct XX XX:XX:24 (ホスト名)postfix/smtpd[XXX]: fatal: no SASL authentication mechanisms
と、設定不足というエラーメッセージが出ています。
dovecot の設定
# vi /etc/dovecot/conf.d/10-master.conf # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { ←コメント削除 # mode = 0666 mode = 0660 ←追記 user = postfix ←追記 group = postfix ←追記 } ←コメント削除
と、変更をして、dovect 再起動します。
Postfix 3.3 ,Dovecot SMTP AUTH テスト
>>> Connecting to "XXX.XXX.XXX.XXX" [2018/XX/XX 17:12:48] <<< 220 (Postfixホスト名) ESMTP Postfix EHLO [127.0.0.1] 250-(Postfixホスト名) 250-PIPELINING 250-SIZE 20480000 250-VRFY 250-ETRN 250-AUTH PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN 235 2.7.0 Authentication successful RSET 250 2.0.0 Ok MAIL FROM:<(差出人メールアドレス)> 250 2.1.0 Ok RCPT TO:<(宛先人メールアドレス)> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> . 250 2.0.0 Ok: queued as 0E31E2D7D28 QUIT 221 2.0.0 Bye
と、うまく、送信できました。
宛先側にもメールが届きました。
試しに、正しくないPOP3のパスワードを設定して、送信してみます。
>>> Connecting to "XXX.XXX.XXX.XXX" [2018/XX/XX 17:15:08] <<< 220 (Postfixホスト名) ESMTP Postfix EHLO [127.0.0.1] 250-(Postfixホスト名) 250-PIPELINING 250-SIZE 20480000 250-VRFY 250-ETRN 250-AUTH PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN 535 5.7.8 Error: authentication failed: RSET 250 2.0.0 Ok MAIL FROM:<(差出人メールアドレス)> 250 2.1.0 Ok RCPT TO:<(宛先人メールアドレス)> 554 5.7.1 <(宛先人メールアドレス)>: Relay access denied QUIT 221 2.0.0 Bye
と、
535 5.7.8 Error: authentication failed:
エラーになり、正しく動作していることがわかります。