bool ProcessRcptToResponse (MimeMessage message, MailboxAddress mailbox, SmtpResponse response)
{
switch (response.StatusCode) {
case SmtpStatusCode.UserNotLocalWillForward:
case SmtpStatusCode.Ok:
OnRecipientAccepted (message, mailbox, response);
return true;
case SmtpStatusCode.UserNotLocalTryAlternatePath:
case SmtpStatusCode.MailboxNameNotAllowed:
case SmtpStatusCode.MailboxUnavailable:
case SmtpStatusCode.MailboxBusy:
OnRecipientNotAccepted (message, mailbox, response);
return false;
case SmtpStatusCode.AuthenticationRequired:
throw new ServiceNotAuthenticatedException (response.Response);
default:
throw new SmtpCommandException (SmtpErrorCode.UnexpectedStatusCode, response.StatusCode, response.Response);
}
}