Jamesをリレーとして使用して、受信メールを処理し、Webサービスを介してシステムに配置したいと思います。正常に動作します。しかし、このサーバーに電子メールを送信するプログラムの設定ミスによって発生する最終的なフラッドを処理したい...この電子メールの送信者またはこの電子メールの宛先の一時的な「禁止」ステータスの管理を構成する方法はありますか?
ありがとう
ここではSMPTHOOKの使用が便利です。
public class SMTPFloodProtectionHook implements RcptHook {
[...]
@Override
public HookResult doRcpt(SMTPSession session, MailAddress sender, MailAddress rcpt) {
if (checkFloodSender(sender) || checkFloodReceiver(rcpt))
return HookResult.deny();
return HookResult.ok();
}
smtpserver.confを変更します
<!-- The configuration handler chain -->
<handlerchain>
<handler class="org.domain.atgov.incomingevent.email.SMTPFloodProtectionHook" />
メーレットを使用するよりも速く拒否します。