Domanda

Questo è il mio codice di invio della posta. Stavo ottenendo " C'è un carattere non valido nell'intestazione della posta " errore. Quando ho cambiato il mio nome computer un nome più breve. Il problema è stato risolto Ma nel mio dominio nomi di computer interi come " 04500-ab04545.xxxdomain.gov.tr ??" quindi ho bisogno di trovare un'altra soluzione per questo problema.

Quindi non posso dare un nome di computer statico durante l'invio di posta dal codice c #.

 MailMessage msg = new MailMessage();
 msg.Body = "axxxxxx";
 msg.To.Add(new MailAddress("xxxx@xxxx.domain"));
 msg.From = new MailAddress("xxxx@xxxx.domain","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);
È stato utile?

Soluzione

Sospetto che questo potrebbe essere un problema relativo alla codifica.

Prova a utilizzare il costruttore new MailAddress (" xxxx@xxxx.domain", " blab blalb " ;, Encoding.Default) .

Altrimenti prova Encoding.Unicode .

Aggiornamento:

Dopo alcuni scavi, questa eccezione viene generata da:

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

Questo accadrà se hai dei caratteri sopra \ xff nell'indirizzo email. Ciò non dovrebbe accadere, poiché il nome dovrebbe essere già codificato, ma credo che qualcos'altro stia diventando divertente.

Altri suggerimenti

Con quali intestazioni sta cercando di inviare il messaggio?

Puoi facilmente scaricare con questo frammento MSDN:

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

Ho ricevuto questo errore quando se questo è stato modificato in " network " --- quindi l'errore è stato risolto. (La mia comprensione è - In caso di opzione di pickupdirectory specificata, l'intestazione -encoding utf-8 (base64) stava dando errore)

Spero che sia d'aiuto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top