e-posta etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
e-posta etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

1 Kasım 2017 Çarşamba

SmtpClient Sınıfı

Giriş
Sınıfı kullanmak için şı satırı dahil ederiz.
using System.Net.Mail;
SmtpClient nesnesi MailMessage sınıfı ile beraber kullanılır.

Constructor - Default
Şöyle yaparız.
SmtpClient smtp = new SmtpClient();
Constructor - Sadece Host
Port vermeden şöyle de yapabiliriz.
var smtp = new SmtpClient("smtp.gmail.com");
Eğer sunucu isminin çözümleyemezse şuna benzer bir exception fırlatır.
...The remote name could not be resolved
Constructor - Host + Port
Bağlantı kurulacak e-posta sunucusunu belirtiriz. 25 artık pek kullanılmıyor.
SmtpClient smtp = new SmtpClient("rmta010.zmail.ril.com",25);
Örneğin GMail 587 numaralı portu kullanır.
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
Credentials Alanı
Gönderenin kendisini tanıttığı alandır.
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("username", "password");
GMail için şöyle yaparız.
new NetworkCredential("wapsatest@gmail.com", "wapsatest123456");
Ya da şöyle.
smtpClient.Credentials = new System.Net.NetworkCredential()
{
    UserName = "xxxxxxxxx@gmail.com",
    Password = "xxxxxx"
};

Şöyle de yapabiliriz.
SmtpClient smtp = new SmtpClient("...");
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
DeliveryMethod Alanı
Şöyle yaparız.
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
EnableSSL Alanı
Şöyle yaparız.
smtp.EnableSsl = true;
Açıklaması şöyle
The SMTP session will begin on an unencrypted connection, and then 
the client will issue a STARTTLS command to upgrade 
to an encrypted connection using SSL.
Host Alanı
Şöyle yaparız.
smtp.Host="smtp.gmail.com";
Port Alanı
Port numarasını şöyle belirtiriz.
smtp.Port = Convert.ToInt32(587);
Send metodu
Mesaj gönderir.
MailMessage mail = new MailMessage();
...
SmtpClient smtp = new SmtpClient("rmta010.zmail.ril.com",25);
...
smtp.Send(mail);
Metod exception atabilir.
try
{
  smtp.Send(...);
}
catch (Exception ex)
{
  MessageBox.Show("Error message: " + ex.Message);
}
SendAsync metodu
Şöyle yaparız.
smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
string userstate = "sending.......";
smtp.SendAsync(msg, userstate);
SendCompleted ile bağlanan metod tetiklendikten sonra hem MailMessage hem de SmtpClient nesneleri Dispose edilmelidir. MailMessage şöyle Dispose edilir.
message.Dispose();
UseDefaultCredentials Alanı
Kendi credentials değerlerimizi kullanmak için şöyle yaparız.
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("from@mail.com", "password");

21 Kasım 2016 Pazartesi

MailMessage Sınıfı

Giriş
MailMessage nesnesi SmtpClient sınıfı ile beraber kullanılır.

MailMessage Sınıfı
Giriş
Sınıfı kullanmak için şu satırı dahil etmek gerekir.
using System.Net.Mail;
Constructor
Şöyle kurulur.
MailMessage mail = new MailMessage();
Constructor - from , to
Şöyle yaparız.
string from = "from@address.com";
string to   = "to@address.com";
MailMessage mail = new MailMessage (from, to);
Constructor - from , to , subject ve body
Şöyle kurulur.
MailMessage mail = new MailMessage(
       "jane@contoso.com",
       "ben@contoso.com",
       "Quarterly data report.",
       "See the attached spreadsheet.");
Attachment Listesi
Yeni bir Attachment şöyle eklenir. Eklenen nesne System.Net.Mail.Attachment nesnesidir.
mail.Attachments.Add(new Attachment(...));
pdf şöyle eklenir.
byte[] bytes = ...;
mail.Attachments.Add(new Attachment(new MemoryStream(bytes), 
                     "Attachment.pdf", "Application/pdf"));
BCC
MailAddressCollection tipindendir. To ve CC alanları ile aynı şekilde ekleme yapılır.

Body
E-postanın içeriğidir.
mail.Body ="...";          
Eğer Body HTML ise şu iki alanı eklemek gerekir.
msg.IsBodyHtml = true;
ve
msg.BodyEncoding = Encoding.UTF8;
O zaman e-posta şuna benzer.
string html = "<html>...</html>";

message.Body = html;
CC
MailAddressCollection tipindendir. To ve Bcc alanları ile aynı şekilde ekleme yapılır. Şöyle yaparız.
message.CC.Add(new MailAddress("..."));
DeliveryNotification
E-posta gönderilemezse bilgi verir.
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
From Alanı
MailAddress tipindendir. Göndereni belirtir.
mail.From = new MailAddress("...");
IsBodyHtml
Eğer Body metni html ise true yapılır.
mail.IsBodyHtml = true;
Priority
Şöyle yaparız.
mail.Priority = MailPriority.Normal;
Sender Alanı
Şöyle yaparız.
mail.Sender = new MailAddress(...)
Subject Alanı
Konuyu  belirtir.
mail.Subject = "...";
To Alanı
MailAddressCollection tipindendir. String şöyle eklenir.
mail.To.Add("...");
MailAddress nesnesi şöyle eklenir.
mail.To.Add(new MailAddress("..."));
MailAddress Sınıfı
Sınıfı kullanmak için şu satırı dahil etmek gerekir.
using System.Net.MailAddress;
Constructor
Stringden şöyle kurulur.
new MailAddress("...");