Postfix サブミッションポート(587番ポート)を有効にする手順

Postfix サブミッションポート(587番ポート)を有効にする手順

CentOS7でPostfixで587番ポートを利用するまでの手順を記述してます。

環境

  • OS CentOS Linux release 7.7.1908 (Core)
  • Postfix 2.10.1
  • サーバー さくらのクラウド
  • ドメイン お名前.com

インストール

postfixは下記のコマンドでインストールしてます。
ここでは全てrootで作業してます。

yum install -y postfix cyrus-sasl cyrus-sasl-*

Postfix設定

postfixの設定は下記となっておます。

vim /etc/postfix/main.cf

編集内容

# ホスト名(fqdn)を指定 mxレコードに設定したvalue
myhostname = mx.example.com
 
# メールで使用するドメイン名
mydomain = test.com
 
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 
# ローカルネットワークを設定
mynetworks_style = host
 
# Maildir形式を指定
home_mailbox = Maildir/
 
# メールサーバのソフト名・バージョンを隠蔽化
smtpd_banner = $myhostname ESMTP unknown
 
# SMTP-Authの設定を下部に追加しておきます
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

587番ポート有効化

587番ポートを有効にするため、下記のファイルを編集します。

vim /etc/postfix/master.cf

下記の箇所のコメントアウトを外します。

submission inet n       -       n       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
<編集内容>

smtp      inet  n       -       n       -       -       smtpd
#smtp      inet  n       -       n       -       1       postscreen
#smtpd     pass  -       -       n       -       -       smtpd
#dnsblog   unix  -       -       n       -       0       dnsblog
#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_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       n       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

postfixを再起動します。

systemctl restart postfix

587番ポートが利用されているかを確認します。

ss -natup |grep master

<出力結果>
tcp    LISTEN     0      100       *:587                   *:*                   users:(("master",pid=25869,fd=18))
tcp    LISTEN     0      100       *:25                    *:*                   users:(("master",pid=25869,fd=13))
tcp    LISTEN     0      100    [::]:587                [::]:*                   users:(("master",pid=25869,fd=19))
tcp    LISTEN     0      100    [::]:25                 [::]:*                   users:(("master",pid=25869,fd=14))

Firewall設定

firewallが設定されている場合は、587番ポートの許可を行います。

firewall-cmd --add-port=587/tcp --zone=public --permanent
firewall-cmd --reload

以上で587番ポートを利用して、メール送信が可能になります