Aracılığıyla paylaş


SmtpClient.Send Yöntem

Tanım

Teslim için smtp sunucusuna bir e-posta iletisi gönderir. bu yöntemler ileti iletilirken engeller.

Aşırı Yüklemeler

Name Description
Send(MailMessage)

Belirtilen iletiyi teslim için bir SMTP sunucusuna gönderir.

Send(String, String, String, String)

Belirtilen e-posta iletisini teslim için bir SMTP sunucusuna gönderir. İletiyi gönderen, alıcılar, konu ve ileti gövdesi nesneler kullanılarak String belirtilir.

Send(MailMessage)

Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs

Belirtilen iletiyi teslim için bir SMTP sunucusuna gönderir.

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)

Parametreler

message
MailMessage

MailMessage Gönderilecek iletiyi içeren bir.

Özel durumlar

message, null'e eşittir.

Bu SmtpClient işlem devam eden başka bir gönderme işlemine sahip.

-veya-

From, null'e eşittir.

-veya-

, CCve Bcc özelliklerinde Tobelirtilen alıcı yok.

-veya-

DeliveryMethod özelliği olarak Network ayarlanır ve Host şeklindedir null.

-veya-

DeliveryMethod özelliği olarak Network ayarlanır ve Host boş dizeye ("") eşittir.

-veya-

DeliveryMethod özelliği sıfır, negatif bir sayı veya 65.535'ten büyük olarak ayarlanır NetworkPort .

Bu nesne atılmış.

SMTP sunucusuna bağlantı başarısız oldu.

-veya-

Kimlik doğrulaması başarısız oldu.

-veya-

İşlem zaman aşımına uğradı.

-veya-

EnableSslolarak ayarlanırtrue, ancak DeliveryMethod özelliği veya PickupDirectoryFromIisolarak SpecifiedPickupDirectory ayarlanır.

-veya-

EnableSsl olarak ayarlanır true, ancak SMTP posta sunucusu, EHLO komutuna yanıt olarak STARTTLS'yi tanıtmadı.

, message veya Bcciçindeki ToCCalıcılardan birine teslim edilemedi.

, message veya Bcciçindeki ToCCiki veya daha fazla alıcıya teslim edilemedi.

Örnekler

Aşağıdaki kod örneği bu yöntemin kullanılmasını gösterir.

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());
    }
}

Açıklamalar

Bu yöntem, e-posta iletilirken engeller. Yöntemin belirtilen süre geçtikten Timeout sonra döndürdüğünden emin olmak için özelliğini kullanarak bir zaman aşımı değeri belirtebilirsiniz.

Bu yöntemi çağırmadan önce ve Port özellikleri, Host yapılandırma dosyaları aracılığıyla ilgili özellikleri ayarlayarak veya bu bilgileri oluşturucuya SmtpClient(String, Int32) geçirerek ayarlanmalıdır.

Zaman uyumsuz olarak gönderilen bir ileti varsa bu yöntemi çağıramazsınız.

SMTP konağı kimlik bilgileri gerektiriyorsa, bu yöntemi çağırmadan önce bunları ayarlamanız gerekir. Kimlik bilgilerini belirtmek için veya Credentials özelliklerini kullanınUseDefaultCredentials.

Bir SmtpException özel durum alırsanız, işlemin başarısız olmasının nedenini bulmak için özelliğini denetleyin StatusCode . ayrıca SmtpException , işlemin başarısız olmasının nedenini gösteren bir iç özel durum da içerebilir.

Kullanarak birden çok alıcıya e-posta Send gönderirken VE SMTP sunucusu bazı alıcıları geçerli olarak kabul eder ve diğerlerini reddeder, Send kabul edilen alıcılara e-posta gönderir ve sonra bir SmtpFailedRecipientsException oluşturulur (veya yalnızca bir SmtpFailedRecipientException alıcı reddedilirse). , SmtpFailedRecipientsException reddedilen alıcıların listesini içerir.

Uyarı

EnableSsl özelliği olarak trueayarlanırsa ve SMTP posta sunucusu EHLO komutuna yanıt olarak STARTTLS'yi tanıtmazsa, veya SendAsync yöntemlerine Send yönelik bir çağrı oluştururSmtpException.

Şunlara uygulanır

Send(String, String, String, String)

Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs
Kaynak:
SmtpClient.cs

Belirtilen e-posta iletisini teslim için bir SMTP sunucusuna gönderir. İletiyi gönderen, alıcılar, konu ve ileti gövdesi nesneler kullanılarak String belirtilir.

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)

Parametreler

from
String

String İletiyi gönderenin adres bilgilerini içeren bir.

recipients
String

String İletinin gönderildiği adresleri içeren.

subject
String

String İletinin konu satırını içeren.

body
String

String İleti gövdesini içeren bir.

Özel durumlar

from, null'e eşittir.

-veya-

recipients, null'e eşittir.

from, Empty'e eşittir.

-veya-

recipients, Empty'e eşittir.

Bu SmtpClient işlem devam eden başka bir gönderme işlemine sahip.

-veya-

DeliveryMethod özelliği olarak Network ayarlanır ve Host şeklindedir null.

-veya-

DeliveryMethod özelliği olarak Network ayarlanır ve Host boş dizeye ("") eşittir.

-veya-

DeliveryMethod özelliği sıfır, negatif bir sayı veya 65.535'ten büyük olarak ayarlanır NetworkPort .

Bu nesne atılmış.

SMTP sunucusuna bağlantı başarısız oldu.

-veya-

Kimlik doğrulaması başarısız oldu.

-veya-

İşlem zaman aşımına uğradı.

-veya-

EnableSslolarak ayarlanırtrue, ancak DeliveryMethod özelliği veya PickupDirectoryFromIisolarak SpecifiedPickupDirectory ayarlanır.

-veya-

EnableSsl olarak ayarlanır true, ancak SMTP posta sunucusu, EHLO komutuna yanıt olarak STARTTLS'yi tanıtmadı.

İleti , CCveya Bcciçindeki Toalıcılardan birine teslim edilemedi.

İleti , CCBccveya içindeki Toiki veya daha fazla alıcıya teslim edilemedi.

Açıklamalar

Bu yöntem, e-posta iletilirken engeller. Yöntemin belirtilen süre geçtikten Timeout sonra döndürdüğünden emin olmak için özelliğini kullanarak bir zaman aşımı değeri belirtebilirsiniz.

Bu yöntemi çağırmadan önce ve Port özellikleri, Host yapılandırma dosyaları aracılığıyla ilgili özellikleri ayarlayarak veya bu bilgileri oluşturucuya SmtpClient(String, Int32) geçirerek ayarlanmalıdır.

Zaman uyumsuz olarak gönderilen bir ileti varsa bu yöntemi çağıramazsınız.

SMTP konağı kimlik bilgileri gerektiriyorsa, bu yöntemi çağırmadan önce bunları ayarlamanız gerekir. Kimlik bilgilerini belirtmek için veya Credentials özelliklerini kullanınUseDefaultCredentials.

Bir SmtpException özel durum alırsanız, işlemin başarısız olmasının nedenini bulmak için özelliğini denetleyin StatusCode . ayrıca SmtpException , işlemin başarısız olmasının nedenini gösteren bir iç özel durum da içerebilir.

Kullanarak birden çok alıcıya e-posta Send gönderirken VE SMTP sunucusu bazı alıcıları geçerli olarak kabul eder ve diğerlerini reddeder, Send kabul edilen alıcılara e-posta gönderir ve sonra bir SmtpFailedRecipientsException oluşturulur (veya yalnızca bir SmtpFailedRecipientException alıcı reddedilirse). , SmtpFailedRecipientsException reddedilen alıcıların listesini içerir.

Uyarı

EnableSsl özelliği olarak trueayarlanırsa ve SMTP posta sunucusu EHLO komutuna yanıt olarak STARTTLS'yi tanıtmazsa, veya SendAsync yöntemlerine Send yönelik bir çağrı oluştururSmtpException.

Şunlara uygulanır