/** * @see org.apache.james.protocols.smtp.core.fastfail.AbstractGreylistHandler#doRcpt(org.apache.james.protocols.smtp.SMTPSession, org.apache.mailet.MailAddress, org.apache.mailet.MailAddress) */ public HookResult doRcpt(SMTPSession session, MailAddress sender, MailAddress rcpt) { if ((wNetworks == null) || (!wNetworks.matchInetNetwork(session.getRemoteIPAddress()))) { return super.doRcpt(session, sender, rcpt); } else { session.getLogger().info("IpAddress " + session.getRemoteIPAddress() + " is whitelisted. Skip greylisting."); } return new HookResult(HookReturnCode.DECLINED); }
/** * @see org.apache.james.smtpserver.protocol.ConnectHandler#onConnect(SMTPSession) */ public void onConnect(SMTPSession session) { // some kind of random cleanup process if (Math.random() > 0.99) { POP3BeforeSMTPHelper.removeExpiredIP(expireTime); } // Check if the ip is allowed to relay if (!session.isRelayingAllowed() && POP3BeforeSMTPHelper.isAuthorized(session.getRemoteIPAddress())) { session.setRelayingAllowed(true); } }
.append(mail.getSender()) .append(" on ") .append(session.getRemoteIPAddress()) .append(" for ") .append(recipientString);
} else { String ip = session.getRemoteIPAddress();
.toString()).append(" from host ") .append(session.getRemoteHost()).append(" (") .append(session.getRemoteIPAddress()).append(") This message reach the spam hits treshold. Required rejection hits: ") .append(spamdRejectionHits).append(" hits: ") .append(hits);
return new HookResult(HookReturnCode.DENY,SMTPRetCode.AUTH_REQUIRED, DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.SECURITY_AUTH) + " Invalid MX " + session.getRemoteIPAddress() + " for domain " + domain + ". Reject email");
public HookResult onMessage(SMTPSession session, Mail mail) { if (mail instanceof MailImpl) { final MailImpl mailImpl = (MailImpl) mail; mailImpl.setRemoteHost(session.getRemoteHost()); mailImpl.setRemoteAddr(session.getRemoteIPAddress()); if (session.getUser() != null) { mail.setAttribute(SMTP_AUTH_USER_ATTRIBUTE_NAME, session.getUser()); } if (session.isRelayingAllowed()) { mail.setAttribute(SMTP_AUTH_NETWORK_NAME,"true"); } } return new HookResult(HookReturnCode.DECLINED); }