Utilizzando lo spazio dei nomi System.Net.Mail il codice utilizzato è il seguente.Impossibile inviare messaggi in C# utilizzando i server di posta in uscita come Gmail/Yahoo utilizzando la porta 465
MailMessage MyMailMessage = new MailMessage("[email protected]", "[email protected]",
"write your subject Here ", "Hi,This is the test message ");
MyMailMessage.IsBodyHtml = false;
NetworkCredential mailAuthentication = new NetworkCredential("[email protected]","xxxxxxxx");
SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 465);
mailClient.EnableSsl = true;
mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
mailClient.UseDefaultCredentials = false;
mailClient.Credentials = mailAuthentication;
mailClient.Send(MyMailMessage);
L'eccezione di timeout del codice sopra riportato si verifica se viene utilizzata la porta 465. 25 porte funziona bene. Nel caso di account yahoo sia il 465 sia il 25 danno esito negativo nell'invio della posta.
C'è comunque una porta 465 può essere supportata per l'invio di e-mail utilizzando l'account gmail o yahoo.
riferiti seguente link http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx
È afferma che Windows Mail utilizza System.Net.Mail per inviare i messaggi - non funzionerà con SSL implicito.
C'è qualche soluzione per risolvere questo problema.
Grazie in anticipo
Stai utilizzando un blocco try/catch? Che errore viene generato? – DGibbs
puoi mostrarci quale eccezione stai ricevendo? Fornire il dettaglio stack trace – Cris
Non sono sicuro se aiuta, ma io invio email con google smpt porta 587. Funziona. –