Pourquoi ai-je une erreur d'adresse 5.5.4 invalide?
-
05-07-2019 - |
Question
J'ai essayé d'envoyer un courrier électronique à l'aide du code suivant:
MailMessage message = new MailMessage();
message.From = new MailAddress(fromMailAddress.Trim());
message.To.Add(new MailAddress(toMailAddress.Trim()));
message.Subject = subject;
message.Body = body;
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
SmtpClient client = new SmtpClient();
try
{
client.Send(message);
}
catch(Exception e)
{
throw e;
}
Cependant, j'ai l'exception:
La réponse du serveur était la suivante: 5.5.4 Adresse non valide
Les adresses e-mail, à e-mail, le nom d'hôte du serveur et le port sont tous corrects. Le même code, avec exactement les mêmes valeurs d'entrée, fonctionne sur une autre machine de notre bureau
La solution
Vous avez trouvé la solution après un débogage approfondi.
Il se trouve que le nom de mon ordinateur comporte un caractère '& # 229;' (caractère suédois non valide). Après avoir changé cela, cela a fonctionné.
Autres conseils
Il y avait une base de connaissances publiée pour System.Net.Mail qui affectait l'analyse des adresses et Unicode. La raison pour laquelle cela fonctionnait sur une machine plutôt que sur l'autre était probablement la présence de cette base de connaissances. .NET 4.0 apporte également des améliorations significatives dans l'analyse des adresses électroniques.