エラー確認
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 の書き方
-
- リレー先サーバのアドレスと、認証で使用するユーザ名とパスワードを記述したファイル /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
コメント