J'utilise la SmtpClient
bibliothèque pour envoyer des e-mails en utilisant les éléments suivants:
SmtpClient client = new SmtpClient();
client.Host = "hostname";
client.Port = 465;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("User", "Pass);
client.Send("from@hostname", "to@hostname", "Subject", "Body");
Le code fonctionne correctement dans mon environnement de test, mais lorsque j'utilise des serveurs SMTP de production, le code échoue avec un SmtpException
«Échec de l'envoi du courrier». avec un IOException
"Impossible de lire les données de la connexion de transport: net_io_connectionclosed".
J'ai confirmé que les pare-feu ne sont pas un problème. Le port s'ouvre très bien entre le client et le serveur. Je ne sais pas quoi d'autre pourrait provoquer cette erreur.