我想使用 James 作为中继来处理传入的电子邮件并通过 web 服务将它们放入系统中。它工作正常。但是我想处理由于向该服务器发送电子邮件的程序的错误配置而导致的最终洪水......无论如何要为这封电子邮件的发件人或这封电子邮件的目的地配置临时“禁止”状态的管理?
谢谢
SMPT HOOK的使用在这里很有用,我只写了一个
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" />
它拒绝比使用 mailet 更快。