okan | Tarih: 10.05.2017
ASP.NET gmail ile mail gönderimi
ASP.NET C# gmail smtp üzerinden mail gönderimi
Merhabalar arkadaşlar,(Not:Lütfen öneri ve sorularınızı yorum olarak atınız. Teşekkürler şimdiden)
Uygulama üzerinden bir raporu yada bir doğrulamayı mail ile gerçekleştirmek istersek bunu nasıl yapabiliriz?
Bu makalemde bu sorunun cevabını dile getirmeye çalışacağım. Uygulamanın bir kaç yerinde kullanıcaksak mail gönderimi için class yazarak ilerlemek daha doğru olabilir. Aşağıdaki kodlar ile c# üzerinden gmail smtp üzerinden mail gönderimi gerçekleştirebilirsiniz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
using System.Configuration;
using System.IO;
public class EPosta
{
private String HOST = "";
private String MAIL_KULLANICI = "";
private String MAIL_SIFRE ="";
private String GONDEREN = "";
private int PORT = 587;
private String ALICI = null;
private String SUBJECT = null;
private String BODY = null;
public EPosta(String sEposta, String sSubject, String sBody)
{
if (sEposta != null)
ALICI = sEposta;
if (sSubject != null)
SUBJECT = sSubject;
if (sBody != null)
BODY = sBody;
}
public String EPostaGonder(String sBasari="", String sHata="")
{
String result = "";
try
{
HOST = "smtp.gmail.com";
MAIL_KULLANICI = "mail_adresiniz@gmail.com";
GONDEREN = "mail_adresiniz@gmail.com";
MAIL_SIFRE = "sifreniz";
SmtpClient client = new SmtpClient();
MailMessage mailgonder = new MailMessage();
mailgonder.To.Add(ALICI); //mail göndermek istediğiniz herhangi bir hesap
mailgonder.From = new MailAddress(GONDEREN);
mailgonder.Subject = SUBJECT;
mailgonder.IsBodyHtml = true; // html içerik gönderiyorsanız true düz metin ise false olacaktır.
mailgonder.Body = BODY;
client.Port = PORT; // mail gönderim portunuz. Sunucunuza göre değişiklik gösterebilir
client.Host = HOST;// mail sunucunuz
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
NetworkCredential guvenlik = new NetworkCredential(MAIL_KULLANICI, MAIL_SIFRE);
client.Credentials = guvenlik;
client.Send(mailgonder);
client.Dispose();
result = sBasari;
}
catch (Exception e)
{
//Herhangi bir hata olduğunda log dosyası oluşturmaktadır.
result = sHata + " " + e.ToString();
FileStream dosya = File.Create(HttpContext.Current.Server.MapPath("/hata_dosya_log.txt"));
dosya.Close();
StreamWriter Dosya = File.AppendText(HttpContext.Current.Server.MapPath("/hata_dosya_log.txt"));
Dosya.WriteLine(DateTime.Now);
Dosya.WriteLine("dosya yüklenirken hata oluştu.");
Dosya.WriteLine(e);
Dosya.Close();
}
return result;
}
}
Teşekkürler.