Ho cercato di inviare un'e-mail tramite C# da un account Gmail per la registrazione dell'account per il mio sito web.Invio di posta da Gmail SMTP C# Timeout di connessione
Ho provato diversi modi, tuttavia la stessa eccezione continua a comparire: Eccezione System.Net.Mail.Smtp - La connessione è scaduta.
Questo è quello che io inluded nel mio file web.config:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network"
from="Writely <[email protected]>">
<network host="smtp.gmail.com"
port="465"
enableSsl="true"
defaultCredentials="false"
userName="[email protected]"
password="******" />
</smtp>
</mailSettings>
</system.net>
dove Writely è il nome del mio sito web, ed è l'account [email protected] desidero inviare una e-mail da .
Poi, nel mio controller account quando mi collego con il mio database e salvare l'utente nel mio tavolo, sto creando il mio oggetto MailMessage e il tentativo di stesso la posta da:
using (DBConnection conn = new DBConnection())
{
conn.UserInfoes.Add(userInfo);
conn.SaveChanges();
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Welcome to Writely";
mail.Body = "Test content";
SmtpClient smtp = new SmtpClient();
smtp.Send(mail);
}
Mi manca qualcosa o fare Qualcosa non va? Ho letto che questo è il modo migliore per farlo in un'altra domanda sullo stack overflow, quindi non so davvero quale sia il problema qui.
Grazie per il vostro aiuto :)
Non è questa la linea dove ho specificare il nome host del server? host di rete = "smtp.gmail.com" in web.config? – Bernice
@Bernice Mi dispiace, fammi riformulare. Le informazioni in Web.Config non vengono automaticamente utilizzate dalla classe SmtpClient. Vedi il codice nella mia risposta aggiornata. –
oh ok grazie :) .. e google usa la porta 587 o 465? perché sto vedendo diversi numeri di porta in ogni domanda su Internet. Devo cambiare anche la porta in web.config in 587? – Bernice