Pythontr

husonet | 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.