相続、親が弱ってきたら銀行の預金は親の面倒を見ているものが全て解約して管理すべきである、銀行は解約させない!!

postfix debug

Postfix

エラー確認

sudo tail /var/log/mail.log

No route to host

Outbound port 25 Blocking(OP25B)が原因である。
ISPが迷惑メール対策として25番ポートに制限をかけている。

解決方法

SMTP認証の設定をすればOK

relayhost

ローカル宛以外のメールを別のサーバ経由にて送信する場合にはmain.cf内のrelayhostにて指定すればよい。メールサーバを複数台で運用している場合などはここでゲートウェイとなるメールサーバ名を記述します。

relayhost = [smtp.gmail.com]:587
relayhost = [192.168.1.6]

[hostname] のように、転送先ホスト名を [ ] で囲むと MX検索をしなくなる。

複数行指定した場合、下の行が優先される。

特定のドメインごとにリレー先を変えるには、transport で設定する。

transport

main.cf

transport_maps = hash:/etc/postfix/transport

transport テーブルの例

example.com    :
foo.com        smtp:[mail.foo.com]
bar.co.jp      smtp:[mx.bar.co.jp]
*              smtp:10.20.30.40
  • 1行目: リレーせず直接ローカル配信する設定。
  • 2,3行目: 特定のドメインをリレーさせる設定。
  • 4行目: その他すべてをリレーさせる設定。

transport テーブル編集後は、ハッシュ化する

 $ sudo postmap /etc/postfix/transport

リレー先サーバーがSMTP認証(SMTP-AUTH)を要求する場合の設定

SMTP認証(SMTP-AUTH)が必要なサーバにリレーする場合、Postfix SMTP クライアントの SASL 認証機能を有効にすることで SMTP Auth に対応することができる。

main.cf の設定

relayhost = [submission.example.org]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous
relayhost
ローカルメール以外をリレーするメールサーバ名(ホスト名)を指定する。
smtp_sasl_auth_enable
デフォルト: no
Postfix SMTP クライアントの SASL 認証を有効にする。
smtp_sasl_password_maps
デフォルト: 指定無し
リレー先サーバのアドレスと、認証で使用するユーザ名とパスワードを記述したファイルを指定する。
smtp_sasl_security_options
デフォルト: noplaintext, noanonymous
Postfix SMTP クライアントで使用する認証メカニズム。
noplaintext
平文パスワードを使う認証方法を許可しません。
noactive
active (非辞書) 攻撃を受けるような方法を許可しません。
nodictionary
passive (辞書) 攻撃を受けるような方法を許可しません。
noanonymous
匿名ログインを許可しません。
mutual_auth
相互認証を提供する方法のみを許可します (SASL バージョン 1 では使えません)。

smtp_sasl_password_maps の書き方

    1. リレー先サーバのアドレスと、認証で使用するユーザ名とパスワードを記述したファイル /etc/postfix/relay_password を作成する。

/etc/postfix/relay_password の内容

mail.example.com              username:password
[submission.example.org]:587  username:password

main.cf の relayhost で記述したメールサーバ名(ホスト名)と同じ記述をしないとうまく動作しない。

例:
relayhost で [smtp.example.com] と記述した場合、smtp_sasl_password_maps でも [smtp.example.com] と記述する必要がある。

postmap コマンドを使用し、パスワードファイルから検索データベースを作成する

$ sudo postmap hash:/etc/postfix/relay_password
Postfix
スポンサーリンク
シェアする
ふじやんをフォローする
スポンサーリンク

コメント