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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top