Konfigurera SMTP är ibland inte lätt. Förra året var jag utveckla ett foto socialt nätverk (som Flickr) och vi behövde ett system för registrering bekräftelse via e-post. SMTP-inställningarna för webbhotellet som vi testade verkligen sög så jag dumpade deras SMTP och installerat Google Apps för vår domän. GMail ger enkel tillgång till SMTP för att skicka e-post och om du har konfigurerat domänens e-post till Google Apps så tror jag det bäst att använda för alla e-post scenarier.

I denna tutorial jag ska berätta för dig hur du enkelt kan använda Gmail för att skicka e-post i ASP.NET (C #). Jag har använt min ProgrammerFish Google Apps e-postkonto men du kan också använda ett Gmail-konto. Den slutliga webbsida ser ut så här:

%tags

Så här är hur man gör:

Gå till Arkiv> Nytt> Webbplats och namnet projektet GmailMailSender (eller vad du vill) och trycker på ok

%tags

Nu ska vi skapa något UI för webbsidan. dubbelklicka default.aspx i lösningen utforskare. och klicka på Design-knappen.

Skapa ett gränssnitt som denna. Infoga 4 textrutor benämn så tb_GmailAccount, tb_GmailPassword (med "textmode egendom som" lösenord " ), Tb_RecieverEmail och tb_Message (med "textmode egendom som" flerradigt "). Också infoga 2 etiketter namnges som lb_error (med "Text" egendom "Fel att skicka mail" och "Synlig" egendom som "falska") bt_sendMail och lb_MailSent (med "Text" egendom som "post skickas" med "Synliga" egendom " false ")

%tags

Nu Solution Explorer, högerklicka på webben Project Node och klicka på Lägg till nytt objekt

%tags

I Visual Studio Installerade mallar väljer klass. Namn det som GmailSender.cs och klicka på Lägg till. Om en dialogruta visas klickar sedan på Ja

%tags

Lägg till följande kod i den klassen:

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

 / / / <summary>
 / / / Summary description for GmailSender
 / / / </ Summary>
 public class GmailSender
 (
     offentlig GmailSender ()
     (
         / /
         / / TODO: Add constructor logik här
         / /
     )
     gMailAccount, string password, string to, string subject, string message) public static bool SendMail (string gMailAccount, string password, sträng, sträng ämne, string message)
     (
         försöka
         (
             NetworkCredential loginInfo = new NetworkCredential (gMailAccount, lösenord);
             Postmeddelande msg = new postmeddelande ();
             msg.From = new mailadress (gMailAccount);
             msg.To.Add (ny mailadress (till));
             msg.Subject = ämne;
             msg.Body = message;
             msg.IsBodyHtml = true;
             ); SmtpClient client = new SmtpClient ( "smtp.gmail.com");
             client.EnableSsl = true;
             client.UseDefaultCredentials = false;
             client.Credentials = loginInfo;
             client.Send (msg);

             return true;
         )
         catch (Exception)
         (
             return false;
         )

     )
 ) 

Nu öppnar Default.aspx och dubbelklicka Skicka e-post-knappen för att öppna bt_sendMail_click kod händelse funktion.

%tags Lägg till denna kod i klassen:

  sender, EventArgs e) protected void bt_sendMail_Click (object sender, EventArgs e)
     (
         if (GmailSender.SendMail (tb_GmailAccount.Text, tb_GmailPassword.Text, tb_RecieverEmail.Text, tb_Subject.Text, tb_Message.Text))
         (
             lb_MailSent.Visible = true;

         )
         annan
         (
             lb_error.Visible = false;
         )
     ) 

Tryck F5 för att köra den om Debugging inte aktiverat dialogruta visas, klicka OK

Som ProgrammerFish. Com använder Google Apps för e-post, kommer jag att använda min ProgrammerFish e-postadress att skicka ett e-post.

%tags Om e-post har skickats, kommer det att visa mailet etikett, annars kommer det att visa Fel skicka e-post etikett, Lets kolla om det skickas eller inte, här är det!

%tags

Hämta lösningen file: GMailMailSender.zip

Om artikeln? Prenumerera på våra feeds för mer intressanta och originella teknik uppdateringar. Klicka här för att få uppdateringar via e-post. Du kan också gå med i vår Facebook Fan Page