修正方法がわからない動作の問題に遭遇しました。
このチュートリアル に従って、Zimbra
(8.0.4)をpolicyd
で構成しました
ステップ1:ポリシーを作成する
ステップ2:グループを作成します(list_domain
)
ステップ3:ドメインをグループに追加します(@example.com
)
ステップ4:ポリシーにメンバーを追加します(from:%list_domain
、to:any
)
ステップ5:クォータを追加します(トラック:Sender: user@domain
、 限目: 60
、評決:defer
)
ステップ6:クォータに制限を追加します(タイプ:messageCount
、制限:5
)
そして、ちょっとプレスト。それは働いています!!!
[〜#〜]しかし[〜#〜]
クォータカウンターは、受信者の数だけ増加します。つまり、1つのメールメッセージを6人の受信者に送信すると、ブロックされます。
質問
受信者の数ではなくメッセージのポリシー付き追跡数を作成するには、何を変更する必要がありますか?
[〜#〜]更新[〜#〜]
これは、すべての機密情報が架空のデータに置き換えられた相対的なサーバーログです。
mailbox.log abstract
2015-09-02 10:58:44,980 INFO [qtp126151468-4888876] [[email protected];mid=537;ip=xx.xx.xx.xx;ua=ZimbraWebClient - FF40 (Win)/8.0.7_GA_6021;] smtp - Sending message to MTA at server.domain.com: Message-ID=<1187019100.8600745.14411807248
[email protected]>, origMsgId=101f0b66-b103-4161-8767-7ab1e00ffffd:1279544, replyType=w
2015-09-02 10:58:45,206 WARN [qtp126151468-4888876] [[email protected];mid=537;ip=xx.xx.xx.xx;ua=ZimbraWebClient - FF40 (Win)/8.0.7_GA_6021;] smtp - Failed to send message
com.zimbra.cs.mailclient.smtp.InvalidRecipientException: RCPT failed: Invalid recipient [email protected]: 450 4.7.1 <[email protected]>: Sender address rejected: Deferring: Too many messages from sender in last 60
at com.zimbra.cs.mailclient.smtp.SmtpConnection.rcpt(SmtpConnection.Java:680)
[........]
cbpolicyd.log abstract
[2015/09/02-10:58:45 - 28180] [CORE] INFO: module=Quotas, mode=create, Host=yy.yy.yy.yy, helo=server.domain.com, [email protected], [email protected], reason=quota_create, policy=6, quota=3, limit=4, track=Sender:[email protected], counter=MessageCount, quota=1.00/3 (33.3%)
[2015/09/02-10:58:45 - 28180] [CORE] INFO: module=Quotas, mode=update, Host=yy.yy.yy.yy, helo=server.domain.com, [email protected], [email protected], reason=quota_update, policy=6, quota=3, limit=4, track=Sender:[email protected], counter=MessageCount, quota=2.00/3 (66.7%)
[2015/09/02-10:58:45 - 28180] [CORE] INFO: module=Quotas, mode=update, Host=yy.yy.yy.yy, helo=server.domain.com, [email protected], [email protected], reason=quota_update, policy=6, quota=3, limit=4, track=Sender:[email protected], counter=MessageCount, quota=3.00/3 (100.0%)
[2015/09/02-10:58:45 - 28180] [CORE] INFO: module=Quotas, mode=update, Host=yy.yy.yy.yy, helo=server.domain.com, [email protected], [email protected], reason=quota_update, policy=6, quota=3, limit=4, track=Sender:[email protected], counter=MessageCount, quota=4.00/3 (133.3%)
[2015/09/02-10:58:45 - 28180] [CORE] INFO: module=Quotas, action=defer, Host=yy.yy.yy.yy, helo=server.domain.com, [email protected], [email protected], reason=quota_match, policy=6, quota=3, limit=4, track=Sender:[email protected], counter=MessageCount, quota=5.00/3 (166.7%)
私たちのzimbraサーバーはリレーエージェントとして機能せず、LAN内の外部サービスを使用して外部ドメインにメッセージを配信します。したがって、外部ドメインに配信されるすべての送信メッセージは、1つの単一のキュー項目で外部MTAに渡されます。
したがって、すべてのメッセージは、その中の受信者の数に関係なく、外部mta /リレーへの唯一のキューアイテムになります。
クォータカウンターは、受信者の数だけ増加します。つまり、1つのメールメッセージを6人の受信者に送信すると、ブロックされます。受信者の数ではなくメッセージのポリシー付き追跡数を作成するには、何を変更する必要がありますか?
もちろんブロックされます。 6人の受信者にメールを送信する場合、基本的に(Zimbraの)postfixは6人の受信者にメールのコピーを送信します。したがって、cbpolicyd これも6メッセージとしてカウントします。
接尾辞の用語では、メッセージの数と受信者の数は同じでした。電子メールクライアントには、電子メールを送信するさまざまな方法があることに注意してください。
さらに重要なことに、このメカニズムは、受信者に数千人を単一メッセージに入れることで、この制限を回避したい厄介なユーザー/スパマーを再び保護します。
追記:
この動作がcbpolicydで意図されていたことを確認できます。証拠は cbpolicydソースコード 、特にファイルcbp/modules/Quotas.pm
行192 から来ました。基本的に、cbpolicydは各RCPT TO
ステージでカウンターをインクリメントします。したがって、現在、ポリシーを介してそれを行うことはできません。