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

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

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 değeridir.

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

-veya-

From, null değeridir.

-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 sunucusuyla bağlantı başarısız oldu.

-veya-

Kimlik doğrulaması gerçekleştirilemedi.

-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, CCveya Bcciçindeki Toalıcılardan birine teslim edilemedi.

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

Örnekler

Aşağıdaki kod örneğinde bu yöntemin kullanılması gösterilmektedir.

static void CreateTestMessage2( String^ server )
{
   String^ to = L"jane@contoso.com";
   String^ from = L"ben@contoso.com";
   MailMessage^ message = gcnew MailMessage( from,to );
   message->Subject = L"Using the new SMTP client.";
   message->Body = L"Using this new feature, you can send an email message from an application very easily.";
   SmtpClient^ client = gcnew 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;
   client->Send( message );
   client->~SmtpClient();
}
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, Host ve Port özellikleri 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.

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

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

Not

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

Şunlara uygulanır

Send(String, String, String, String)

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 bir.

subject
String

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

body
String

String İleti gövdesini içeren bir.

Özel durumlar

from, null değeridir.

-veya-

recipients, null değeridir.

from, Empty değeridir.

-veya-

recipients, Empty değeridir.

Bu SmtpClient işlem zaten 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 sunucusuyla bağlantı başarısız oldu.

-veya-

Kimlik doğrulaması gerçekleştirilemedi.

-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, CCveya Bcciçindeki Toalıcılardan birine teslim edilemedi.

message, CCveya Bcciç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, Host ve Port özellikleri 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.

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

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

Not

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

Şunlara uygulanır