Postfix
作成日時:2018/04/01
更新日時:2019/03/29
スポンサーリンク
この記事の確認環境
$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) $ postconf | grep mail_version mail_version = 2.10.1
設定ファイル
/etc/postfix/main.cf
キーワード | 引数に設定可能な値 | デフォルト値 | 説明 |
---|---|---|---|
myhostname | - | - | - |
mydomain | - | - | - |
inet_interfaces | - | - | - |
setgid_group | - | - | - |
ログ
/var/log/maillog
sendmailコマンド
$ sendmail 送信先メールアドレス .(ドットのみを入力してEnterで終了)
メール保存先
/var/spool/mail/
ログ出力例
smtp
Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: XXXXXXXXXXX: to=<メールアドレス>, relay=none, delay=XXXX, delays=XXXX/X.XX/XX/X, dsn=X.X.X, status=deferred (connect to ホスト名[IPアドレス]:ポート番号: Connection timed out)
pickup
Jan 1 00:00:00 localhost postfix/pickup[プロセスID]: XXXXXXXXXXX: uid=XXXX from=<ユーザー名>
cleanup
Jan 1 00:00:00 localhost postfix/cleanup[プロセスID]: XXXXXXXXXXX: message-id=メッセージID
qmgr
Jan 1 00:00:00 localhost postfix/qmgr[プロセスID]: 12E618EC7CB: from=<username@localhost.localdomain>, size=XXX, nrcpt=X (queue active)
エラー出力例
リレー設定
下記のような「Network is unreachable」の記載があるエラーログが表示されている場合
設定ファイルの内容を見直し、reload
Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: connect to ホスト名[IPアドレス]:ポート番号: Connection timed out Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: connect to ホスト名[IPアドレス]:ポート番号: Network is unreachable Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: XXXXXXXXXXX: to=<メールアドレス>, relay=none, delay=XX, delays=X.X/X.XX/XX/X, dsn=X.X.X, status=deferred (connect to ホスト名[IPアドレス]:ポート番号: Network is unreachable)
特定のファイルが無い
Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: error: open database /etc/postfix/sasl_password.db: No such file or directory Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: connect to smtp.gmail.com[IPアドレス]:ポート番号: Network is unreachable Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: warning: hash:/etc/postfix/sasl_password is unavailable. open database /etc/postfix/sasl_password.db: No such file or directory Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: warning: hash:/etc/postfix/sasl_password lookup error for "smtp.gmail.com" Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: warning: XXXXXXXXXXX: smtp_sasl_passwd lookup error Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: XXXXXXXXXXX: to=<メールアドレス>, relay=smtp.gmail.com[IPアドレス]:ポート番号, delay=X.X, delays=X.XX/X.XX/X/X, dsn=X.X.X, status=deferred (local data error while talking to smtp.gmail.com[IPアドレス])
SASL認証に失敗している、SASL認証用のパッケージがインストールされていない
以下のように「warning: SASL authentication failure: No worthy mechs found」や「SASL authentication failed;」の出力があった場合は、認証に必要なパッケージがインストールされていないため認証に失敗している可能性があります。
Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: warning: SASL authentication failure: No worthy mechs found Jan 1 00:00:00 localhost postfix/smtp[プロセスID]: XXXXXXXXXXX: SASL authentication failed; cannot authenticate to server smtp.gmail.com[IPアドレス]: no mechanism available
インストールされているか確認
# yum list installed cyrus-sasl-plain
インストールされていなかった場合はインストール
# yum install cyrus-sasl-plain
ローカルサーバーでGmail送信を可能にする
myorigin = gmail.com myhostname = smtp.gmail.com relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_mechanism_filter = plain inet_protocols = ipv4 smtp_use_tls = yes smtp_tls_security_level=encrypt tls_random_source=dev:/dev/urandom
# postmap /etc/postfix/sasl_passwd
postmapコマンド実行時に、以下のようなwarningが表示される場合がある。
postmap: warning: /etc/postfix/sasl_passwd.db: duplicate entry: "[smtp.gmail.com]:587"
firewall設定
# firewall-cmd --list-services --zone=public --permanent
# firewall-cmd --add-service=smtp --zone=public --permanent