Servizio SMTP non disponibile
Domanda
Sto provando a creare un'applicazione Web che inserendo il tuo indirizzo e-mail e il tuo messaggio, invii un'email con queste informazioni dall'indirizzo e-mail.
Ho usato questo:
try
{
NetworkCredential login = new NetworkCredential("your_____@gmail.com", "password");
System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
email.To.Add(new MailAddress("my____email@gmail.com"));
email.From = new MailAddress("your_____@gmail.com");
email.Subject = "Question";
email.Body = question;
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = login;
client.Send(email);
}
catch
{
}
Ma mi sta dando un errore SMTP.
" Servizio non disponibile, chiusura canale di trasmissione. Il server la risposta è stata: impossibile connettersi a SMTP server 209.85.129.111 (209.85.129.111:25), errore di connessione 10051 " System.Exception {} System.Net.Mail.SmtpException
Soluzione
Per inviare tramite il tuo account Gmail, devi connetterti alla porta 587:
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
Altri suggerimenti
Non è necessario specificare la porta 587 - il codice funziona senza di essa. Ho inviato e ricevuto e-mail con successo utilizzando:
Client SmtpClient = new SmtpClient (" smtp.gmail.com ");
Se osservi attentamente l'errore, viene visualizzato il messaggio " Impossibile connettersi al server SMTP " e l'errore 10051 indica che la rete non è raggiungibile. Hai una porta di blocco firewall 587?
Gmail utilizza la porta 465 e gli errori mostrano la porta 25 prova a utilizzare la porta 465