web-dev-qa-db-ja.com

ニュースレターの送信中にPostfixが攻撃的すぎるようです

Yahooやマイナーネットワークプロバイダーなど、特定のドメイン/サーバーにニュースレターを送信する際に問題が発生します。まるで私が彼らのサーバーに接続をスパムしているようで、彼らはしばらくして停止するように私に言います。たくさんのメールが届きますが、接続が再開されるまでの期間(1時間程度)、次のようなメッセージが表示されます。

status = deferred(配信が一時的に中断されました:mx-eu.mail.am0.yahoodns.net [188.125.69.79]との接続が失われました

私はサーバーに接続をスパムすることに興味がなく、自分のニーズに合わせて接尾辞を調整するためにさまざまなパラメーターを試しました。要するに私がこれまでに試したこと:

  • 同時接続をグローバルに削減
  • グローバルに1秒の遅延を挿入する
  • プロセス数を2つに減らしました
  • 問題のドメインに対して特定のポリシーを作成しました(ソース: http://Steam.io/2013/04/01/postfix-rate-limiting

この件について経験のある人はいますか?そして、これらの特定の受信者サーバー、たとえばyahooのポリシーを作成することは可能でしょうか?

構成例をいただければ幸いです。

1
SteffenNielsen

Postfixは特に積極的ではありません。 SMTPおよびさまざまなベストプラクティスに従ってメールを配信しようとしています。

これはYahooのせいです。

Yahooには、単一の送信者からのメッセージの同時受信者に対する非常に低い制限があります。これは、わずか数十のYahooアドレスが含まれている500人の小さなリストで発生することがわかります。

この特定のリストの内容は非常に時間に敏感です。メッセージが2分以内に受信、読み取り、処理されない場合、その価値の多くが失われます。

私の「解決策」は、Yahooがメールの受信を遅らせる可能性があり、別のプロバイダーを検討する可能性があることをYahooメールユーザーに警告することです。これはあなたのために働くかもしれないし、そうでないかもしれません。 Postfixは残りの受信者を非常に迅速に再試行するため、これは通常深刻な問題ではありません。

他のいくつかの可能な解決策は次のとおりです。

  • VERP。これにより、すべてのメッセージが一意になり、Yahooの途方もなく低い制限を回避することもできますが、メッセージ本文をすべての受信者に繰り返し送信する必要があるため、配信が遅くなり、帯域幅の使用量が大幅に増加します。テストを実行して、納期の違いが許容できるかどうかを判断することをお勧めします。上記のリストのように時間に敏感なものについては、VERPは不可能です。

  • 接尾辞を変更するsmtp_destination_recipient_limit設定。デフォルトではこれは50です。つまり、Postfixは別のSMTPサーバーへの接続ごとに最大50の受信者に配信しようとします。 Yahooは一度に約10しか受け入れないように見えるので、これを10に変更すると役に立ちます。ただし、これはallの宛先への配信に影響し、この方法で人為的に制限する必要がない場合でも、すべてのメール配信が遅くなります。 。また、50は業界全体のベストプラクティスのように思われるため、これはお勧めしません。

最後に、リンクした記事にリストされている構成は問題ないようです。実装中に何かを見逃したか、Yahooがそれを本当に気に入らないと判断した可能性があります。

4
Michael Hampton