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:

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
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 ")
Nu Solution Explorer, högerklicka på webben Project Node och klicka på Lägg till nytt objekt
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
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.
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.
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!
Hämta lösningen file: GMailMailSender.zip

















