Asp.net C# dili ile mail gönderimi nasıl yapılır?

Umit (10) 11 yıl önce sordu

Asp.net  ve C# dili  kullanıyorum. Mail göndermek istiyorum. Bunun için nelere ihtiyacım var?

C# ile mail gönderimi nasıl yapılır?

Toplam 3 cevap


alattin (17095) 11 yıl önce cevapladı

Asp.Net ve C# kullanarak mail gönderebilmek için öncelikle

  1. Bir SMTP sunucu adresine (mail.uzmanim.net) 
  2. Bu sunucu üzerinde yetkili bir kullanıcı adı ve parolaya 

ihtiyacınız var.

 

Kullanmanız gereken kod blogu şu şekilde olmalı:

using System.Net.Mail;
namespace Uzmanim.Net.Service.Common
{
    public class EmailService
    {
        public static void SendMail()
        {
            MailMessage email = new MailMessage();
            string Host = "smtp.uzmanim.net";
            string smtpUserName = "alfa@uzmanim.net";
            string smtpPassword = "parola";
            email.From = new MailAddress("kimden@uzmanim.net");
            int smtpPort = 587;
            email.IsBodyHtml = true;
            email.Subject = "Mailinizin konusu";
            email.Body = "Mailinizin içeriği";
            email.To.Add(new MailAddress("kime@uzmanim.net"));            
            email.BodyEncoding = System.Text.Encoding.UTF8;
            SmtpClient smtp = new SmtpClient(Host, smtpPort);
            smtp.Credentials = new System.Net.NetworkCredential(smtpUserName, smtpPassword);
            smtp.Send(email);
        }
    }

}

Yukarıdaki bilgileri size ait smtp sunucu bilgileri ile değiştirmeniz gerekmekte.

kemalkara (1) 9 yıl önce cevapladı

An exception of type 'System.Net.Mail.SmtpException' occurred in System.dll but was not handled in user code

Additional information: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first

 

Hata Alıyorum sebebi ne olabilir. Google de araştırcım ama tam olarak bulamadım.

alattin 9 yıl önce

Kemal bunu ayrı bir soru olarak sorar mısın?

oiscen (11) 9 yıl önce cevapladı

Mail sunucunuz güvenli bağlantı üzerinden gönderime izin veriyor. Aşağıdaki düzenlemeyi yapıp tekrar deneyin;

smtp.Credentials = new System.Net.NetworkCredential(smtpUserName, smtpPassword);

satırının altına şu satırı ekleyin:

smtp.EnableSsl = True;