Sette opp SMTP Noen ganger er det ikke lett. I fjor var jeg utvikler et bilde sosialt nettverk (som Flickr), og vi trengte en registrering bekreftelse systemet gjennom e-post. SMTP-innstillinger for webhost som vi tester virkelig sugd så jeg dumpet deres SMTP og installert Google Apps for domenet vårt. GMail gir enkel SMTP-tilgang for å sende e-post, og hvis du har konfigurert domenets e-post på Google Apps så tror jeg det best å bruke for alle e-scenarier.

I denne opplæringen vil jeg fortelle deg hvordan du enkelt kan bruke Gmail til å sende e-poster i ASP.NET (C #). Jeg har brukt min ProgrammerFish Google Apps e-postkonto, men du kan også bruke en Gmail-konto. Den endelige nettsiden ser slik ut:

%tags

Så her er hvordan du gjør det:

Gå til Fil> Ny> Nettside og navn dette prosjektet GmailMailSender (eller hva du liker) og trykk OK

%tags

Nå skal vi lage noe brukergrensesnitt for web-siden. dobbeltklikk default.aspx i løsningen utforske. Og klikk Design knapp.

Lag et grensesnitt som dette. Sett 4 tekstbokser navngitt som tb_GmailAccount, tb_GmailPassword (med 'textmode' eiendom som "passord" ), Tb_RecieverEmail og tb_Message (med 'textmode' eiendom som "flerlinjede"). Også sette inn 2 etiketter navngitt som lb_error (med 'tekst' eiendom som "Feil under sending av post" og "Synlig" eiendom som "false") bt_sendMail og lb_MailSent (med 'tekst' eiendom som "post sendt" med "Synlig 'eiendom som" false ")

%tags

Nå Solution Explorer, høyreklikk på Web Project Node og klikk på Legg til nytt element

%tags

I Visual Studio Installerte maler å velge klasse. Navn det som GmailSender.cs og klikk på Legg til. Hvis en dialogboks vises deretter Ja

%tags

Legg til følgende kode i denne klassen:

  using System;
 using System.Collections.Generic;
 bruker System.Linq;
 bruker system.web;
 bruker System.Net;
 bruker System.Net.Mail;

 / / / <summary>
 / / / Sammendrag beskrivelse for GmailSender
 / / / </ Summary>
 public class GmailSender
 (
     public GmailSender ()
     (
         / /
         / / TODO: Add Constructor logikk her
         / /
     )
     gMailAccount, string password, string to, string subject, string message) public static bool SendMail (streng gMailAccount, string password, string til, string subject, string melding)
     (
         prøve
         (
             NetworkCredential loginInfo = new NetworkCredential (gMailAccount, password);
             MailMessage msg = new MailMessage ();
             msg.From = new MailAddress (gMailAccount);
             msg.To.Add (ny MailAddress (til));
             msg.Subject = emne;
             msg.Body = melding;
             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;
         )

     )
 ) 

Nå åpner Default.aspx og dobbeltklikk Send e-post for å åpne bt_sendMail_click hendelsen funksjon koden.

%tags Legg til denne koden 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;

         )
         ellers
         (
             lb_error.Visible = false;
         )
     ) 

Trykk F5 for å kjøre den hvis Debugging ikke aktivert vises dialogboksen klikker OK

Som ProgrammerFish. Com bruker Google Apps for epost, vil jeg bruke min ProgrammerFish e-postadresse for å sende en e-post.

%tags Hvis e-post er sendt, vil den vise e-post sendt etiketten, andre kloke det vil vise Feil ved sending av e-post etiketten, Lets sjekk den ut hvis den er sendt eller ikke, her er den!

%tags

Last løsningen filen: GMailMailSender.zip

Denne artikkelen? Abonner på våre feeds for mer interessante og originale teknologien oppdateringer. Klikk her for å få oppdateringer via e-post. Du kan også delta i vår Facebook-fan siden