SmtpClient.Send Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ı.
Ö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 true
ayarlanı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
Özel durumlar
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ı.
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 true
ayarlanı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.