La creazione di SMTP è a volte non è facile. L'anno scorso ero in via di sviluppo di una rete sociale di foto (come Flickr) e avevamo bisogno di un sistema di conferma della registrazione via email. Le impostazioni SMTP di hosting su cui abbiamo provato davvero schifo così ho dumping loro SMTP e installato Google Apps per il nostro dominio. GMail offre un accesso facile SMTP per l'invio di e-mail e se si è configurato e-mail del tuo dominio a Google Apps allora credo che la migliore da utilizzare per eventuali scenari di e-mail.
In questo tutorial vi dirò come si può facilmente utilizzare Gmail per l'invio di email in ASP.NET (C #). Ho usato il mio ProgrammerFish Google Apps account email, ma è anche possibile utilizzare qualsiasi account GMail. La pagina web finale come questo:

Ecco come fare:
Vai a File> New> Web e il nome di questo progetto GmailMailSender (o quello che volete) e premere Ok
Ora andiamo a creare una interfaccia utente per la pagina web. default.aspx fare doppio clic in Esplora soluzioni. E fare clic sul pulsante Design.
Creare un'interfaccia come questa. Inserire 4 caselle di testo chiamato come tb_GmailAccount, tb_GmailPassword (con 'proprietà TextMode' come "password" ), Tb_RecieverEmail e tb_Message (con 'proprietà TextMode' come "righe"). Anche inserire 2 etichette nominato lb_error (con 'proprietà Text' come "Errore durante l'invio di posta elettronica" e 'proprietà Visible' come "false") bt_sendMail e lb_MailSent (con 'proprietà Text' come "posta inviata" con 'Visible' immobile come " false ")
Ora Esplora soluzioni, fate clic destro sul Web Project Node e fare clic su Add New Item
In Visual Studio installati selezionare Modelli di classe. Chiamatelo come GmailSender.cs e fare clic su Aggiungi. Se una finestra di dialogo appare quindi scegliere Sì.
Aggiungere il seguente codice in questa categoria:
using System; using System.Collections.Generic; utilizzando System.Linq; using System.Web; using System.Net; utilizzando System.Net.Mail; / / / <summary> / / / Summary description for GmailSender / / / </ Summary> public class GmailSender ( pubblico GmailSender () ( / / / / TODO: Add constructor logic here / / ) gMailAccount, string password, string to, string subject, string message) public static bool SendMail (gMailAccount string, string password, string a, string oggetto, string message) ( provare ( LoginInfo NetworkCredential = new NetworkCredential (gMailAccount, password); MailMessage msg = new MailMessage (); MailAddress msg.From = new (gMailAccount); msg.To.Add (MailAddress nuovo (a)); soggetti msg.Subject =; messaggio = msg.Body; 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; ) ) )
Ora aprite Default.aspx e fare doppio clic sul pulsante Invia Mail per aprire il codice di funzione bt_sendMail_click evento.
Aggiungi questo codice nella classe:
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; ) altro ( lb_error.Visible = false; ) )
Premere F5 per eseguire il debug se non abilitata la finestra di dialogo fare clic su OK
Come ProgrammerFish. Com sta utilizzando Google Apps per la posta elettronica, userò il mio ProgrammerFish indirizzo e-mail per inviare una e-mail.
Se la posta viene inviata con successo, mostrerà email etichetta inviato, l'altro saggio verrà visualizzato un errore di invio di posta un'etichetta, Let's check it out se il suo mandato o no, è qui!
Scarica il file di soluzione: GMailMailSender.zip

















