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:

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
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 ")
Nå Solution Explorer, høyreklikk på Web Project Node og klikk på Legg til nytt element
I Visual Studio Installerte maler å velge klasse. Navn det som GmailSender.cs og klikk på Legg til. Hvis en dialogboks vises deretter Ja
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.
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.
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!
Last løsningen filen: GMailMailSender.zip

















