Бөлісу құралы:


SmtpClient.Send Метод

Определение

Отправляет сообщение электронной почты на SMTP-сервер для доставки. Эти методы блокируются во время передачи сообщения.

Перегрузки

Имя Описание
Send(MailMessage)

Отправляет указанное сообщение на SMTP-сервер для доставки.

Send(String, String, String, String)

Отправляет указанное сообщение электронной почты на SMTP-сервер для доставки. Отправитель сообщения, получатели, тема и текст сообщения указываются с помощью String объектов.

Send(MailMessage)

Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs

Отправляет указанное сообщение на SMTP-сервер для доставки.

public:
 void Send(System::Net::Mail::MailMessage ^ message);
public void Send(System.Net.Mail.MailMessage message);
member this.Send : System.Net.Mail.MailMessage -> unit
Public Sub Send (message As MailMessage)

Параметры

message
MailMessage

Объект, MailMessage содержащий сообщение для отправки.

Исключения

message равно null.

Это SmtpClient еще одна операция отправки уже выполняется.

–или–

From равно null.

–или–

Нет получателей, указанных в To, CCи Bcc свойствах.

–или–

DeliveryMethod свойство имеет значение Network и Host имеет значение null.

–или–

DeliveryMethod свойство имеет значение Network и Host равно пустой строке ("").

–или–

DeliveryMethod свойство равно нулю NetworkPort , отрицательному числу или больше 65 535.

Этот объект был удален.

Сбой подключения к SMTP-серверу.

–или–

Сбой проверки подлинности.

–или–

Время ожидания операции истекло.

–или–

EnableSsl имеет true значение, но DeliveryMethod для свойства задано SpecifiedPickupDirectory значение или PickupDirectoryFromIis.

–или–

EnableSsl задано значение true, , но почтовый сервер SMTP не объявлял STARTTLS в ответе на команду EHLO.

Не message удалось передать одному из получателей Toв , CCили Bcc.

Не message удалось передать в два или более получателей в To, CCили Bcc.

Примеры

В следующем примере кода демонстрируется использование этого метода.

public static void CreateTestMessage2(string server)
{
    string to = "jane@contoso.com";
    string from = "ben@contoso.com";
    MailMessage message = new MailMessage(from, to);
    message.Subject = "Using the new SMTP client.";
    message.Body = @"Using this new feature, you can send an email message from an application very easily.";
    SmtpClient client = new SmtpClient(server);
    // Credentials are necessary if the server requires the client
    // to authenticate before it will send email on the client's behalf.
    client.UseDefaultCredentials = true;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
            ex.ToString());
    }
}

Комментарии

Этот метод блокирует передачу сообщения электронной почты. Значение времени ожидания можно указать с помощью Timeout свойства, чтобы убедиться, что метод возвращается после указанного периода времени.

Перед вызовом этого метода необходимо задать свойства с помощью файлов конфигурации, HostPort задав соответствующие свойства или передав эти сведения в SmtpClient(String, Int32) конструктор.

Этот метод нельзя вызвать, если отправляется асинхронное сообщение.

Если для узла SMTP требуются учетные данные, перед вызовом этого метода необходимо задать их. Чтобы указать учетные данные, используйте UseDefaultCredentials или Credentials свойства.

Если вы получаете SmtpException исключение, проверьте StatusCode свойство, чтобы найти причину сбоя операции. Может SmtpException также содержать внутреннее исключение, указывающее причину сбоя операции.

При отправке электронной почты нескольким получателям и SMTP-серверу некоторые получатели принимаются как допустимые и отклоняют другие, отправляет сообщение Send электронной почты принятым получателям, Send а затем SmtpFailedRecipientsException возникает исключение (или SmtpFailedRecipientException если отклоняется только один получатель). A SmtpFailedRecipientsException содержит список получателей, которые были отклонены.

Замечание

EnableSsl Если для свойства задано trueзначение, а почтовый сервер SMTP не объявляет STARTTLS в ответе на команду EHLO, вызов Send или SendAsync методы вызовет исключениеSmtpException.

Применяется к

Send(String, String, String, String)

Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs
Исходный код:
SmtpClient.cs

Отправляет указанное сообщение электронной почты на SMTP-сервер для доставки. Отправитель сообщения, получатели, тема и текст сообщения указываются с помощью String объектов.

public:
 void Send(System::String ^ from, System::String ^ recipients, System::String ^ subject, System::String ^ body);
public void Send(string from, string recipients, string? subject, string? body);
public void Send(string from, string recipients, string subject, string body);
member this.Send : string * string * string * string -> unit
Public Sub Send (from As String, recipients As String, subject As String, body As String)

Параметры

from
String

Значение String , содержащее сведения об адресе отправителя сообщения.

recipients
String

Объект, String содержащий адреса, на которые отправляется сообщение.

subject
String

Объект, String содержащий строку темы для сообщения.

body
String

Объект, String содержащий текст сообщения.

Исключения

from равно null.

–или–

recipients равно null.

from равно Empty.

–или–

recipients равно Empty.

Это SmtpClient еще одна операция отправки уже выполняется.

–или–

DeliveryMethod свойство имеет значение Network и Host имеет значение null.

–или–

DeliveryMethod свойство имеет значение Network и Host равно пустой строке ("").

–или–

DeliveryMethod свойство равно нулю NetworkPort , отрицательному числу или больше 65 535.

Этот объект был удален.

Сбой подключения к SMTP-серверу.

–или–

Сбой проверки подлинности.

–или–

Время ожидания операции истекло.

–или–

EnableSsl имеет true значение, но DeliveryMethod для свойства задано SpecifiedPickupDirectory значение или PickupDirectoryFromIis.

–или–

EnableSsl задано значение true, , но почтовый сервер SMTP не объявлял STARTTLS в ответе на команду EHLO.

Сообщение не удалось передать одному из получателей в To, CCили Bcc.

Сообщение не удалось передать двум или нескольким получателям в To, CCили Bcc.

Комментарии

Этот метод блокирует передачу сообщения электронной почты. Значение времени ожидания можно указать с помощью Timeout свойства, чтобы убедиться, что метод возвращается после указанного периода времени.

Перед вызовом этого метода необходимо задать свойства с помощью файлов конфигурации, HostPort задав соответствующие свойства или передав эти сведения в SmtpClient(String, Int32) конструктор.

Этот метод нельзя вызвать, если отправляется асинхронное сообщение.

Если для узла SMTP требуются учетные данные, перед вызовом этого метода необходимо задать их. Чтобы указать учетные данные, используйте UseDefaultCredentials или Credentials свойства.

Если вы получаете SmtpException исключение, проверьте StatusCode свойство, чтобы найти причину сбоя операции. Может SmtpException также содержать внутреннее исключение, указывающее причину сбоя операции.

При отправке электронной почты нескольким получателям и SMTP-серверу некоторые получатели принимаются как допустимые и отклоняют другие, отправляет сообщение Send электронной почты принятым получателям, Send а затем SmtpFailedRecipientsException возникает исключение (или SmtpFailedRecipientException если отклоняется только один получатель). A SmtpFailedRecipientsException содержит список получателей, которые были отклонены.

Замечание

EnableSsl Если для свойства задано trueзначение, а почтовый сервер SMTP не объявляет STARTTLS в ответе на команду EHLO, вызов Send или SendAsync методы вызовет исключениеSmtpException.

Применяется к