C# ile Mail Gönderme
Her sitede bir iletişim sayfası vardır. ASP.NET’te bir site yapıyorsunuz ve sıra iletişim sayfasını oluşturmaya geldi. İletişim sayfasındaki en önemli işlem mail gönderilmesidir. C# kullanarak mail gönderme işleminin nasıl yapıldığını paylaşacağım.
Öncelikle ASP.NET üzerinde basit bir mail gönderme işlemi sırasında bulunması gereken kime, konu ve mesaj girdilerinin yapılacağı textbox’lar oluşturuyoruz ve kodlamaya başlıyoruz.
ASP.NET kodları:
C Sharp kodları:
Mail Gönderme Sayfası <asp:textbox id="Kimetxt" placeholder="Kime" runat="server"> </asp:textbox> <asp:textbox id="Konutxt" placeholder="Konu" runat="server"> </asp:textbox> <asp:textbox id="Mesajtxt" placeholder="Mesaj" runat="server" textmode="MultiLine"> </asp:textbox> <asp:linkbutton id="MailGonder" onclick="MailGonder_Click" runat="server"> Gönder</asp:linkbutton> <asp:label id="Sonuc" runat="server"></asp:label>
public partial class MailGonderme:System.Web.UI.Page { // Eposta eposta; public class EpostaCS { public string Kimden { get; set; } public string Kime { get; set; } public string KimeCC { get; set; } public string Mesaj { get; set; } public string Konu { get; set; } public bool HTMLDestekli { get; set; } public string KullaniciAdi { get; set; } public string Sifre { get; set; } public int Port { get; set; } public string Domain { get; set; } public bool SSLGerekli { get; set; } } protected void Page_Load(object sender, EventArgs e) { } protected void MailGonder_Click(object sender, EventArgs e) { EpostaCS eposta = new EpostaCS(); eposta.Domain = "smtp.gmail.com"; eposta.KullaniciAdi = "adresiniz@gmail.com"; eposta.Sifre = "GercekSifreniz"; // Şifrenizi doğru girmeniz gerekli. eposta.Kimden = "adresiniz@gmail.com"; // Gerçek adresiniz olmalı, mail bu adres üzerinden gönderilecektir. eposta.Kime = Kimetxt.Text; eposta.Konu = Konutxt.Text; eposta.Mesaj = Mesajtxt.Text; eposta.KimeCC = ""; eposta.HTMLDestekli = true; eposta.Port = 587; eposta.SSLGerekli = true; string mailsonuc = EpostaGonder(eposta); if (mailsonuc == "OK") { Sonuc.Text = "Mailiniz Başarıyla Gönderildi."; } else { Sonuc.Text = "Mail Gönderilirken Bir Hata Oluştu,"+ "Mailiniz Gönderilemedi!"; } } public string EpostaGonder(EpostaCS posta) { System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage(); System.Net.Mail.SmtpClient SmtpServer = new System.Net.Mail.SmtpClient(posta.Domain); email.From = new System.Net.Mail.MailAddress (posta.Kimden); email.To.Add(posta.Kime); if (!string.IsNullOrEmpty(posta.KimeCC)) email.CC.Add(posta.KimeCC); email.Subject = posta.Konu; email.Body = posta.Mesaj; email.IsBodyHtml = posta.HTMLDestekli; SmtpServer.Port = posta.Port; SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new System.Net .NetworkCredential(posta.KullaniciAdi, posta.Sifre); SmtpServer.EnableSsl = posta.SSLGerekli; try { SmtpServer.Send(email); } catch (Exception hata) { return hata.Message; } return "OK"; } }