Postfixでのメールスタンドを作成する際の送信流量をキャリア別に調整します。
仕様
- 1000通/26秒の性能
- 送信流量
・Gmail, Docomo, au, SoftBank, Ymobile宛メール:1通/1秒 ※正確には1秒ではなく1セッション
・その他宛メール:100通/60秒
キャリアにはメルマガ向けのポリシーがあります
例) Docomo
Postfix設定
# vi /etc/postfix/main.cf ※最終行に追加 ## Tuning default_process_limit = 5000 # 100通/60秒に制限 anvil_rate_time_unit=60s smtpd_client_message_rate_limit=100 # yahoo.co.jpのみリトライ回数を5にする # Gmail, Docomo, au, SoftBank, Ymobile, icloud # @/etc/postfix/master.cf 最終行 transport_maps = hash:/etc/postfix/transport # 1コネクションでのメール制限 smtp_initial_destination_concurrency = 2 smtp_destination_concurrency_limit = 10 # 携帯メール対策 allow_min_user = yes ## バウンスメール対策 # 1. 200秒毎にキューをチェック queue_run_delay = 200s # 2. 1600秒毎に再送して、2回目は2倍の3200秒、3回目は4倍の6400秒後に再送 minimal_backoff_time = 1600s # 3. 待機が7200秒(2時間)に達したキューは破棄しエラーメールを返す maximal_backoff_time = 7200s maximal_queue_lifetime = 7200s bounce_queue_lifetime = 7200s
大量のバウンスメールに対するチューニングが必要、デフォルトだと再送のしすぎでスパムサーバと受信側サーバに判定される確率が高まる。
# vi /etc/postfix/master.cf ※●最終行に追加 # Yahoo リトライをデフォルト2回から5に拡張 slowrelay unix - - n - 2 smtp -o smtp_mx_session_limit=5 # Gmail gmail-smtp unix - - n - 1 smtp -o syslog_name=postfix/gmail -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100 # Docomo docomo-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100 # au au-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100 # SoftBank softbank-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100 # Ymobile ymobile-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100 # icloud 5通/30秒 icloud-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=30s -o smtpd_client_message_rate_limit=5 # MS関連 5通/30秒 ms-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=30s -o smtpd_client_message_rate_limit=5
# vi /etc/postfix/transport ※最終行に追加 # retry yahoo.co.jp yahoo.co.jp slowrelay: gmail.com gmail-smtp: docomo.ne.jp docomo-smtp: ezweb.ne.jp au-smtp: softbank.ne.jp softbank-smtp: .softbank.ne.jp softbank-smtp: .vodafone.ne.jp softbank-smtp: ymobile.ne.jp ymobile-smtp: willcom.com ymobile-smtp: icloud.com icloud-smtp: me.com icloud-smtp: hommail.com ms-smtp: outlook.com ms-smtp:
ハッシュ化
# postmap /etc/postfix/transport
反映
postfix check systemctl restart postfix systemctl enable postfix systemctl status postfix
役に立ちました!
一つだけ、
/etc/postfix/transportの
docomo.ne.jp docomo-stmp:
は
docomo.ne.jp docomo-smtp:
の間違いだと思います。
有り難く修正させて頂きました!
助かります。