Opsætning af SMTP er ikke altid let. Sidste år var jeg udvikle et foto sociale netværk (såsom Flickr) og vi havde brug for en bekræftelse af registrering system via e-mail. SMTP-indstillingerne for webhost, hvor vi var afprøvning virkelig suget så jeg dumpede deres SMTP og installeret Google Apps til vores domæne. Gmail giver nem SMTP-adgang til at sende e-mails, og hvis du har konfigureret din domænes e-mail til Google Apps så tror jeg det er bedst at bruge for alle e-mail-scenarier.
I denne tutorial vil jeg fortælle dig, hvordan du nemt kan bruge Gmail til at sende e-mails i ASP.NET (C #). Jeg har brugt min ProgrammerFish Google Apps-e-mail-konto, men du kan også bruge en Gmail-konto. Den endelige webside ser sådan her ud:

Så her er hvordan du gør det:
Gå til Filer> Ny> Website og navn dette projekt GmailMailSender (eller hvad du vil), og tryk på OK
Lad os nu lave nogle UI for websiden. dobbeltklik default.aspx i opløsningen explorer. Og på Design-knappen.
Opret en grænseflade som denne. Indsæt 4 tekstbokse navngivet som tb_GmailAccount, tb_GmailPassword (med 'tekst-' ejendom som "password" ), Tb_RecieverEmail og tb_Message (med 'tekst-' ejendom som "multiline"). Også indsætte 2 etiketter udnævnt som lb_error (med 'tekst' ejendom som "Fejl ved afsendelse af post" og "Synlig" ejendom "false") bt_sendMail og lb_MailSent (med 'Tekst' ejendom som "Mail sent" med "Synlig 'ejendom som" false ")
Nu Solution Explorer, højreklik på den web-projekt Node og klik på Add New Item
I Visual Studio Installerede skabeloner at vælge klasse. Name it som GmailSender.cs og klik på Tilføj. Hvis der vises en dialogboks klik derefter på Ja
Tilføj følgende kode i denne klasse:
using System; using System.Collections.Generic; hjælp System.Linq; using System.Web; hjælp System.Net; hjælp System.Net.Mail; / / / <summary> / / / Summary description for GmailSender / / / </ Summary> public class GmailSender ( offentlige GmailSender () ( / / / / TODO: Add constructor logic here / / ) gMailAccount, string password, string to, string subject, string message) public static bool SendMail (string gMailAccount, string password, string to, string emne, string besked) ( forsøge ( NetworkCredential loginInfo = new NetworkCredential (gMailAccount, password); MailMessage msg = new MailMessage (); msg.From = ny mailadresse (gMailAccount); msg.To.Add (ny mailadresse (til)); msg.Subject = emne; msg.Body = besked; msg.IsBodyHtml = true; ); SmtpClient client = nye SmtpClient ( "smtp.gmail.com"); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = loginInfo; client.Send (msg); return true; ) catch (Exception) ( return false; ) ) )
Nu åbner Default.aspx og dobbeltklik på Send Mail-knappen for at åbne bt_sendMail_click begivenhed funktion i registret.
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; ) anden ( lb_error.Visible = false; ) )
Tryk på F5 for at køre den, hvis Debugging ikke er aktiveret, vises dialogboksen klikke på OK
Som ProgrammerFish. Com er ved hjælp af Google Apps til e-mail, vil jeg bruge min ProgrammerFish e-mail-adresse til at sende en e-mail.
Hvis e-mail er sendt, vises den e-mail sendt etiket, andre kloge vil det vise Fejl ved afsendelse af mail-etiket, Lets tjekke det ud, hvis dets sendt eller ej, her er det!
Hent den løsning fil: GMailMailSender.zip

















