2009-03-03 6 views
3

Ceci est mon code d'envoi de courrier. Je recevais l'erreur "Il y a un caractère invalide dans l'en-tête du message". Quand j'ai changé le nom de mon ordinateur, le nom le plus court. Le problème a été résolu Mais dans mon domaine des noms d'ordinateurs entiers comme "04500-ab04545.xxxdomain.gov.tr", donc j'ai besoin de trouver une autre solution pour ce problème. Donc, je ne peux pas donner un nom d'ordinateur statique lors de l'envoi de courrier à partir du code C#.Problème lors de l'envoi de courrier par System.Net.Mail C#

MailMessage msg = new MailMessage(); 
msg.Body = "axxxxxx"; 
msg.To.Add(new MailAddress("[email protected]")); 
msg.From = new MailAddress("[email protected]","blab blalb"); 
msg.Subject = "Subject xxx"; 
SmtpClient server = new SmtpClient("xxxxxxxx",25); 
server.Credentials = new NetworkCredential("xxxxx", "xxxxxxx"); 
SmtpClient server = new SmtpClient("mail.adalet.gov.tr",25); 
server.Credentials = new NetworkCredential("xxx", "xxx"); 
server.Send(msg); 

Répondre

4

Je pense que cela pourrait être un problème lié à l'encodage. Essayez le constructeur new MailAddress("[email protected]","blab blalb", Encoding.Default).

Sinon, essayez Encoding.Unicode.

Mise à jour:

Après quelques recherches, cette exception est levée à partir de:

void System.Net.BufferBuilder.Append(string,int,int); 

Cela se produit si vous avez des caractères ci-dessus \ xff dans l'adresse e-mail. Ce n'est pas supposé se produire, car le nom devrait déjà être encodé, mais quelque chose d'autre est en train de devenir drôle.

+0

homme Thanx ur frais;) –

+0

Semble même Microsoft échoue le test turc parfois :) – leppie

+0

Que voulez-vous dire par "des caractères sur \ xff"? – Eyalk

0

Quels en-têtes le message tente-t-il d'envoyer?

Vous pouvez facilement vider avec cet extrait MSDN:

string[] keys = message.Headers.AllKeys; 
     Console.WriteLine("Headers"); 
     foreach (string s in keys) 
     { 
      Console.WriteLine("{0}:", s); 
      Console.WriteLine(" {0}", message.Headers[s]); 
0

J'ai reçu cette erreur lorsque, si cela est modifié en "réseau" --- alors l'erreur a été résolue. (Ma compréhension est - Incase l'option PickupDirectory spécifiée, l'en-tête -encoding utf-8 (base64) donnait erreur)

Hope it helps

Questions connexes