SmtpStatusCode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает результат отправки электронной почты с помощью класса SmtpClient.
public enum class SmtpStatusCode
public enum SmtpStatusCode
type SmtpStatusCode =
Public Enum SmtpStatusCode
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| GeneralFailure | -1 | Не удалось произойти транзакцию. Эта ошибка возникает, когда указанный узел SMTP не найден. |
| SystemStatus | 211 | Ответ на состояние системы или системную справку. |
| HelpMessage | 214 | Сообщение справки было возвращено службой. |
| ServiceReady | 220 | Служба SMTP готова. |
| ServiceClosingTransmissionChannel | 221 | Служба SMTP закрывает канал передачи. |
| Ok | 250 | Сообщение электронной почты успешно отправлено в службу SMTP. |
| UserNotLocalWillForward | 251 | Почтовый ящик пользователя не расположен на принимающем сервере; сервер перенаправит сообщение электронной почты. |
| CannotVerifyUserWillAttemptDelivery | 252 | Указанный пользователь не является локальным, но получая службу SMTP принял сообщение и попытался доставить его. Этот код состояния определен в RFC 1123, который доступен по адресу https://www.ietf.org. |
| StartMailInput | 354 | Служба SMTP готова к получению содержимого электронной почты. |
| ServiceNotAvailable | 421 | Служба SMTP недоступна; сервер закрывает канал передачи. |
| MailboxBusy | 450 | Используется целевой почтовый ящик. |
| LocalErrorInProcessing | 451 | Служба SMTP не может завершить запрос. Эта ошибка может возникать, если IP-адрес клиента не может быть разрешен (т. е. сбой обратного поиска). Эту ошибку также можно получить, если домен клиента был идентифицирован как открытый ретранслятор или источник для незапрошенной электронной почты (спам). Дополнительные сведения см. в статье RFC 2505, которая доступна по адресу https://www.ietf.org. |
| InsufficientStorage | 452 | Служба SMTP не имеет достаточного хранилища для выполнения запроса. |
| ClientNotPermitted | 454 | Клиент не прошел проверку подлинности или не разрешено отправлять почту с помощью указанного узла SMTP. |
| CommandUnrecognized | 500 | Служба SMTP не распознает указанную команду. |
| SyntaxError | 501 | Синтаксис, используемый для указания команды или параметра, неверный. |
| CommandNotImplemented | 502 | Служба SMTP не реализует указанную команду. |
| BadCommandSequence | 503 | Команды были отправлены в неправильной последовательности. |
| CommandParameterNotImplemented | 504 | Служба SMTP не реализует указанный параметр команды. |
| MustIssueStartTlsFirst | 530 | SMTP-сервер настроен для приема только TLS-подключений, и smtp-клиент пытается подключиться с помощью подключения, отличного от TLS. Решение предназначено для того, чтобы пользователь мог задать EnableSsl=true на SMTP-клиенте. |
| MailboxUnavailable | 550 | Целевой почтовый ящик не найден или недоступен. |
| UserNotLocalTryAlternatePath | 551 | Почтовый ящик пользователя не расположен на принимающем сервере. Необходимо повторно отправить данные адреса. |
| ExceededStorageAllocation | 552 | Сообщение слишком большое, чтобы храниться в целевом почтовом ящике. |
| MailboxNameNotAllowed | 553 | Синтаксис, используемый для указания целевого почтового ящика, неверный. |
| TransactionFailed | 554 | Сбой транзакции. |
Примеры
В следующем примере кода отображается сообщение об ошибке в консоли при SmtpException возникновении ошибки.
public static void CreateMessageWithAttachment3(string server, string to)
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
string file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"ReportMailer@contoso.com",
to,
"Quarterly data report",
"See the attached spreadsheet.");
// Create the file attachment for this email message.
Attachment data = new Attachment("Qtr3.xls");
// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
// Add the file attachment to this email message.
message.Attachments.Add(data);
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.Credentials = (ICredentialsByHost)CredentialCache.DefaultNetworkCredentials;
// Notify user if an error occurs.
try
{
client.Send(message);
}
catch (SmtpException e)
{
Console.WriteLine("Error: {0}", e.StatusCode);
}
finally
{
data.Dispose();
}
}
Комментарии
Значения в SmtpStatusCode перечислении указывают значения состояния ответа, отправляемые сервером SMTP. Классы SmtpException содержат StatusCode свойства, возвращающие SmtpStatusCode значения.SmtpFailedRecipientsException
SMTP определяется в RFC 2821, доступной по адресу https://www.ietf.org.