web-dev-qa-db-fra.com

MailMessage.To.Add () levée exception: "Un caractère non valide a été trouvé dans l'en-tête du mail: ','."

Je reçois cette erreur lorsque je l'utilise dans un projet SharePoint, alors que dans l'application console, il fonctionne bien

J'utilise la classe MailMessage pour envoyer un courrier électronique à l'aide de SMTP . Mais lorsque j'essaie d'ajouter un utilisateur à la propriété "To", j'obtiens {"Un caractère non valide a été trouvé dans l'en-tête du mail: Je pense que quelque chose de louche se passe ici car ',' est autorisé à séparer plusieurs utilisateurs. Ajouter plusieurs utilisateurs

** Plusieurs adresses électroniques doivent être séparées par une virgule (","). ** 

MailMessage mailMessage = new MailMessage();

 mailMessage.To.Add("[email protected],[email protected],");
24
nbi

Vous avez le coupable: C'est la virgule supplémentaire (,) à la fin de la dernière adresse email

mailMessage.To.Add("[email protected],[email protected],");

Juste enlevé ça et le tour est joué! ça marche. Je ne sais pas pourquoi ça marche dans une application console mais pas dans un sharepoint :( 

mailMessage.To.Add("[email protected],[email protected]");
40
nbi

Je ne peux pas reproduire cela. Le code ci-dessus fonctionne pour moi. Peut-être essayez-vous de les ajouter en utilisant un "À" séparé à chaque fois.

mailMessage.To.Add(x);
mailMessage.To.Add(y);
2
Stephen Walker

J'ai eu l'erreur même si je n'ai pas de virgule à la fin. Il s'avère que je dois laisser un espace après la virgule 

Je dois changer mon code de string.Join (",", emailList) à string.Join (",", emailList)

Suivre n'a pas fonctionné pour moi.

mailMessage.To.Add("[email protected],[email protected]");

La suite a fonctionné pour moi (Notez qu'il y a un espace après la virgule).

mailMessage.To.Add("[email protected], [email protected]");
2
Thiru

J'ai dû mettre à jour un projet avec des emails plus jolis et j'ai publié le projet Web et j'ai eu cette erreur.

Le mien provenait d'un code de débogage dans lequel 

currentUser = [email protected]   

a ajouté 

MailAddress mailAddressUser = new MailAddress(currentUser + "@mycompany.com");

Essentiellement:

[email protected]@mycompany.com    

Donc, au lieu d’un problème avec une virgule de fin, littéralement un autre @ 

0
Tom Stickel

Dans mon cas, j'ai oublié de filtrer les utilisateurs sans email, alors je formais ma liste d'emails comme ceci:

[email protected]
[email protected]
@domain.com  //PROBLEM HERE
[email protected]
0
The One