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:

%tags

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

%tags

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 ")

%tags

Nu Solution Explorer, højreklik på den web-projekt Node og klik på Add New Item

%tags

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

%tags

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.

%tags Tilføj denne kode 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;

         )
         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.

%tags 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!

%tags

Hent den løsning fil: GMailMailSender.zip

Gerne denne artikel? Abonnere på vores feeds til mere interessante og originale teknologi opdateringer. Klik her for at hente opdateringer via e-mail. Du kan også tilmelde dig vores Facebook fan page