Asp.net Gmail Üzerinden Mail Gönderme

Bu yazıda asp.net (c#) gmail hesabınız üzerinden mail gönderme işlemini yapacağız. Gmail smtp üzerinden, gmail hesabınızın mail ve şifre bilgilerini girerek istediğiniz mail adresine mail gönderebilirsiniz. Temel bilgiler olup toplu mail ve birden fazla dosya eki eklemekte mümkündür. (yaratıcılığınıza kalmış 🙂 )
Html kodları

 <table style="background-color: #ffd800; padding: 10px" border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="tdsol">Gönderilecek Email: </td>
                    <td><asp:TextBox ID="txtKime" runat="server"></asp:TextBox> </td>
                </tr>
                <tr>
                    <td class="tdsol">&nbsp; </td>
                </tr>
                <tr>
                    <td class="tdsol">Konu: </td>
                    <td><asp:TextBox ID="txtKonu" runat="server"></asp:TextBox> </td>
                </tr>
                <tr>
                    <td class="tdsol">&nbsp; </td>
                </tr>
                <tr>
                    <td valign="top" class="tdsol">Mesaj: </td>
                    <td><asp:TextBox ID="txtMesaj" runat="server" TextMode="MultiLine" Height="105px" Width="563px"></asp:TextBox> </td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>Mail Attachment: </td>
                    <td><asp:FileUpload ID="fuAttach" runat="server" /> </td>
                </tr>
                <tr> <td>&nbsp; </td> </tr>
                <tr>
                    <td colspan="2"> <br /> Gmail Hesap Bilgileri<br /> <hr /> </td>
                </tr>
                <tr>
                    <td>Email: </td>  <td>  <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox> </td>
                </tr>
                <tr>
                     <td>&nbsp; </td> </tr>
                <tr>
                    <td>Şifre: </td>  <td>  <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox> </td>
                </tr>
                <tr>
                    <td>&nbsp; </td>
                </tr>
                <tr>
                    <td></td>
                    <td> <asp:Button ID="BtnGonder" Text=" Maili Gönder " runat="server" OnClick="BtnGonder_Click" /> </td>
                </tr>
            </table>


C#

 protected void BtnGonder_Click(object sender, EventArgs e)
    {
        string to = txtKime.Text;
        string from = txtEmail.Text;
        string password = txtPassword.Text;
        string subject = txtKonu.Text;
        string body = txtMesaj.Text;
        HttpPostedFile ektekidosya = fuAttach.PostedFile;
        try
        {
            MailGonder(to, from, password, subject, body, ektekidosya);
            Response.Write("Mail başarıyla gönderildi");
        }
        catch (Exception ex)
        {
            Response.Write("Mail gönderiminde hata oluştu. Err: " + ex.ToString());
        }
    }
    private void MailGonder(string to, string from, string password, string subject, string body, HttpPostedFile ektekidosya)
    {
        using (MailMessage mm = new MailMessage(from, to))
        {
            mm.Subject = subject;
            mm.Body = body;
            if (ektekidosya.ContentLength > 0)
            {
                string dosyaadi = Path.GetFileName(ektekidosya.FileName);
                mm.Attachments.Add(new Attachment(ektekidosya.InputStream, dosyaadi));
            }
            mm.IsBodyHtml = false;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            NetworkCredential NetworkCred = new NetworkCredential(from, password);
            smtp.UseDefaultCredentials = true;
            smtp.Credentials = NetworkCred;
            smtp.Port = 587;
            smtp.Send(mm);
        }
    }

Kod sayfanızın en üstüne aşağıdaki namespacesleri import etmelisiniz.

using System.IO;
using System.Net;
using System.Net.Mail;

 

 

You may also like

3 yorum

  1. Uzak sunucuya bağlanılamıyor hatası veriyor. Gmail hesabında bir ayar yapamamız gerekiyor mu?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.