ASP.NET MVC Mail Gönderme

Asp.Net MVC’de mail gönderme classı oluşturup nasıl mail gönderebileceğinizi anlatacağım.

Öncelikle bir MVC projesi oluşturuyoruz. Daha sonra bir adet Mail adında class oluşturuyoruz. Classın içi aşağıdaki şekilde olmalıdır.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Net;
using System.Web;

namespace MailGonder.Controllers
{
    public class Mail
    {
        public string Gonder(string konu, string mesaj, string eposta)
        {
            try
            {
                MailMessage mail = new MailMessage();
                SmtpClient smtp = new SmtpClient();
                smtp.Credentials = new NetworkCredential("Mail adresiniz", "Mail Şifreniz"); // Gönderici bilgilerini giriyoruz
                smtp.Port = 587; // Mail uzantınıza göre bu değişebilir
                smtp.Host = "mail.furkanaktas.com"; // Gmail veya hotmail ise onların host bilgisini almanız gerekiyor 
                smtp.EnableSsl = false;
                mail.IsBodyHtml = true;// HTML tagleri kullanarak mail gönderebilmek için aktif ediyoruz
                mail.From = new MailAddress("Mail adresiniz"); // Gönderen mail adresini yazıyoruz
                mail.To.Add(eposta); // Gönderilecek mail adresini ekliyoruz
                mail.Subject = konu; // Mesaja konuyu ekliyoruz
                mail.Body = mesaj; // Mesajın içeriğini ekliyoruz

                smtp.Send(mail); // Mesajı gönderiyoruz
                return "basarili";
            }
            catch (Exception)
            {
                return "basarisiz";
            }
        }
    }
}

Daha sonra mail göndermek istediğimiz controllere gelip bu classtan bir nesne oluşturup parametreleri veriyoruz.

    public ActionResult Index()
        {
            string konu = "Konu Test";
            string mesaj = "Mesaj içeriği kısmıdır. <b>Bu kısım kalın olacaktır.</b>";
            string eposta = "Gönderilecek adres";
            Mail mail = new Mail();
            mail.Gonder(konu,mesaj,eposta);
            return View();
        }

Mail gönderme işlemi başarı ile tamamlanıyor. Sonuç aşağıdaki gibi oluyor.

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda Full Stack .Net Developer olarak çalışmaktayım.

8 thoughts on “ASP.NET MVC Mail Gönderme

  • Nisan 2, 2021 tarihinde, saat 7:14 pm
    Permalink

    Furkan bey teşekkürler paylaşımınız için.
    mail görünür ismi olarak mail adresi yerine Furkan AKTAŞ yazmak mümkün olur mu?

    Yanıtla
    • Nisan 3, 2021 tarihinde, saat 12:23 am
      Permalink

      Merhaba Ali bey,

      Aşağıdaki şekilde kullanırsanız olacaktır.

      mail.From = new MailAddress(email.tex, “Furkan Aktaş” );

      Yanıtla
      • Nisan 9, 2021 tarihinde, saat 9:28 pm
        Permalink

        Teşekkürler Furkan bey,

        mail.To.Add(eposta);
        bu satır üzerinde eposta değişkeni olarak “mail1@xyz.com;mail2@xyz.com”
        yazarak tek işlemde 2 adresi gönderim yapmak mümkün olur mu?

        teşekkürler tekrar….

        Yanıtla
        • Nisan 10, 2021 tarihinde, saat 4:11 pm
          Permalink

          Mail.To.Add(e-posta);
          Mail.To.Ads(eposta2);
          Şeklinde tanımlayabilirsiniz.

          Rica ederim. İyi çalışmalar.

          Yanıtla
  • Ocak 21, 2022 tarihinde, saat 11:20 am
    Permalink

    smtp.Credentials = new NetworkCredential(“Mail adresiniz”, “Mail Şifreniz”); // Gönderici bilgilerini giriyoruz

    Merhaba. Bu kısmı anlayamadım. Site üzreindeki iletişim formundan şirkete mesaj gönderecek kişilerin mail şifrelerini neden alıyoruz?

    Yanıtla
    • Ocak 24, 2022 tarihinde, saat 1:58 pm
      Permalink

      Merhabalar,

      Methoda gelen parametredeki eposta formdan gelen kullanıcının epostasıdır. Burdaki mail adresi ve şifre kısmına, formdan gelen mailler hangi mail adresine gidecek ise o maili ve şifresini yazmalısınız.

      Yanıtla
  • Mayıs 29, 2023 tarihinde, saat 3:58 pm
    Permalink

    Merhaba Furkan Bey. Öncelikle emeklerinizden dolayı size teşekkür ediyorum. Benim sorum ASP de geliştirdiğimiz bir sitenin ileri tarihli mail atmasını istiyorum. Bunu nasıl başarabilirim. Şimdiden teşekkür ediyorum. İyi çalışmalar.

    Yanıtla
    • Haziran 1, 2023 tarihinde, saat 10:31 am
      Permalink

      Merhabalar, bunun için database tarafında bir email kuyruğu oluşturup daha sonrasında bu kuyruğu thread yardımı ile okuyarak istediğiniz tarihte maili yollayabilirsiniz.

      Yanıtla

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir