package mireka.transmission.dsn;
import java.util.Date;
import javax.annotation.Nullable;
import mireka.address.Recipient;
import mireka.smtp.EnhancedStatus;
import mireka.smtp.MailSystemStatus;
import mireka.smtp.client.MtaAddress;
/**
* RecipientProblemReport contains information necessary to produce the
* recipient specific part of a DSN message which indicates some kind of
* problem.
*/
public abstract class RecipientProblemReport {
public Recipient recipient;
/**
* @see <a href="http://tools.ietf.org/html/rfc3464#section-2.3.4">Status
* field</a>
*/
public EnhancedStatus status;
/**
* @see <a
* href="http://tools.ietf.org/html/rfc3464#section-2.3.6">Diagnostic-Code
* field</a>
*/
@Nullable
public MailSystemStatus remoteMtaDiagnosticStatus;
@Nullable
public MtaAddress remoteMta;
public Date failureDate;
public String logId;
/**
* @see <a href="http://tools.ietf.org/html/rfc3464#section-2.3.3">Action
* field</a>
*/
public abstract String actionCode();
}