Postfixメール送信制限 その2
項番 | 機能 |
1 | 主要3キャリアへの独自?ルールにより送信(セッション数、同時メール送信数の制限) |
2 | 配信時刻制限(docomo.co.jp宛のメールは深夜帯を避けるなど) |
3 | エラーメール処理(バウンスメールをカウントして、設定した回数を越えたら配信しない) |
4 | 絵文字メール送信 |
5 | 単位時間あたりのメール送信制限(例 1時間に6万通を上限にする等) |
6 | 複数アドレスによるメール送信(キャリア宛のメール送信の高速化) |
今日は、2について記述する。2はどこで活躍するか?なのですが、業務の現場では携帯メールを深夜帯に飛ばしたくないみたいな要望があるらしいのです(受信者側のマナーモードで対応しろといった理屈は、通用しないらしい)ということで、調べてみるとdefer_transport(master.cfで指定したサービス名を記述すると、メール配信を保留状態にする(メールキューにに滞留する))といった状態にすることが出来ます。これと、cron等と組み合わせて配信時刻制限をすることが出来ます。例として、softbank,au,docomoのサービスを登録して、配信時刻制限をするといったことを設定してみます。
1. master.cfにサービスを登録します
smtp_destination_concurrency_limitとsmtp_destination_recipient_limitは、上記表の1に関連しますので、次の機会でお話します
## 配信制限用
smtp-docomo unix - - n - - smtp
-o smtp_destination_concurrency_limit=1
-o smtp_destination_recipient_limit=1
smtp-softbank unix - - n - - smtp
-o smtp_destination_concurrency_limit=1
-o smtp_destination_recipient_limit=1
smtp-ezweb unix - - n - - smtp
-o smtp_destination_concurrency_limit=1
-o smtp_destination_recipient_limit=1
2. transportマップにそれぞれのドメインを定義します
デフォルトローカル向きですので、必ずmailgatewayの設定は実施しましょう。
## 配信時刻制限をしたいドメイン ##
docomo.ne.jp smtp-docomo:[mailgateway]
ezweb.ne.jp smtp-ezweb:[mailgateway]
softbank.ne.jp smtp-softbank:[mailgateway]
3. main.cfにdefer_transportを設定します
defer_transports = smtp-docomo smtp-ezweb smtp-softbank
4. 設定反映
これで、defer_transortsに各サービスタイプが記述されているときはメール配信はされないので、夜間は 3のような記述をし、規程した営業時刻は"postconf -e defer_transports="を実行、メールキューの吐きだしをすれば配信時刻の制限は可能となります。