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 (17137) 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) 10 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 10 yıl önce

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

oiscen (11) 10 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;