package com.elasticinbox.lmtp.server.api.handler;
import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.core.fastfail.AbstractValidRcptHandler;
import com.elasticinbox.core.account.validator.IValidator;
import com.elasticinbox.core.account.validator.IValidator.AccountStatus;
import com.elasticinbox.core.account.validator.ValidatorFactory;
public class ValidRcptHandler extends AbstractValidRcptHandler
{
private IValidator validator = ValidatorFactory.getValidator();
@Override
protected boolean isValidRecipient(SMTPSession session, MailAddress recipient)
{
AccountStatus status = validator.getAccountStatus(recipient.toString());
session.getLogger().debug("Validated account (" + recipient + ") status is " + status);
return status.equals(AccountStatus.ACTIVE) ? true : false;
}
@Override
protected boolean isLocalDomain(SMTPSession session, String domain)
{
// ignore domain check
return true;
}
}