「広告」

Postfix3.3 ソース版 マルチドメイン対応 SMTP認証設定

「広告」
記事内に広告が含まれています。
「広告」

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:
エラーになり、正しく動作していることがわかります。

タイトルとURLをコピーしました