2011-11-08 15 views
6

Quando invio una e-mail dal mio sito a Uniforme http://co.za registrar e cc me stesso nella posta elettronica ricevo un'email da loro ricevuta che hanno ricevuto l'e-mail, ma non riesce a trovare alcune informazioni in quanto ha aggiunto quei personaggi divertenti. Ho visto che c'era un post precedente sul sito ma nessuna delle risposte sembra funzionare per me, e ho provato un sacco di post e blog su google.invia email semplice/di testo e ottiene = 0D = 0A nella risposta e-mail dal server

L'intero corpo dell'e-mail è costruito con il modello che si ottiene dal sito del registro e ho usato ecc. Come i dettagli che ho bisogno di compilare e sostituire, quindi inviare il corpo dell'email al registrar.

EX: 
1a. Complete domain name: <domainname> 
gets replaces with the domain name exmaple.co.za 

My Code:

MailMessage emailmsg = new MailMessage("[email protected]", "[email protected]"); 
      emailmsg.Subject = "N domain domain.co.za"; 
      emailmsg.Bcc.Add("[email protected]"); 
      emailmsg.Body = Body; 
      emailmsg.IsBodyHtml = false; 

      var plainView = AlternateView.CreateAlternateViewFromString(Body, new  ContentType("text/plain; charset=iso-8859-1")); 
      plainView.TransferEncoding = TransferEncoding.SevenBit; 
      emailmsg.AlternateViews.Add(plainView); 

      SmtpClient sSmtp = new SmtpClient(); 
      sSmtp.Send(emailmsg); 

Questo codice inviare una copia Ccn a me stesso e dagli sguardi di esso tramite Outlook tutto sembra bene e dovrei essere, ma quando lo ricevono i caratteri viene aggiunto. sembra aggiungere a caso quei personaggi. quindi ovviamente la richiesta non riesce poiché non è possibile trovare il nome server secondi.

Returned mail:

Administrative Info 
Contact: Administrator=0D=0A 4b. Title/posi= (Administrator) 
Company: CompanyName Ltd 
Postal: P.O Box 12841, Centrahill, 6006 
Phone:  +27.00000000=0D=0A 4f. Fax Number: +27.00000000= 

Provided Nameserver information 
Primary Server : ns1.nameserver.co.za 
Secondary 1  : ns2.nameserver.co.za=0d=0a, 

Qualsiasi aiuto sarebbe apprezzato.

nota: il registrar richiede che l'e-mail sia in testo normale e non in base64 o html qualunque il sistema raccolga e-mail e fax in chiaro/testo e li elabora automaticamente.

Grazie

+2

Sembra la codifica "quoted stamp". Vedi http://en.wikipedia.org/wiki/Quoted-printable. –

risposta

5

ho capito, cambiato il mio codice di seguito:

MailMessage emailmsg = new MailMessage("[email protected]", "[email protected]") 
emailmsg.Subject = "Subject"; 
emailmsg.IsBodyHtml = false; 
emailmsg.ReplyToList.Add("[email protected]"); 
emailmsg.BodyEncoding = System.Text.Encoding.UTF8; 
emailmsg.HeadersEncoding = System.Text.Encoding.UTF8; 
emailmsg.SubjectEncoding = System.Text.Encoding.UTF8; 
emailmsg.Body = null; 

var plainView = AlternateView.CreateAlternateViewFromString(EmailBody, emailmsg.BodyEncoding, "text/plain"); 
plainView.TransferEncoding = TransferEncoding.SevenBit; 
emailmsg.AlternateViews.Add(plainView); 

SmtpClient sSmtp = new SmtpClient(); 
sSmtp.Send(emailmsg); 

Tutti i caratteri spazi sono tenuti come hanno shou essere nel modello di email Spero che questo aiuti anche qualcuno.

5

= OD = OA è quoted-printable rappresentazione di CrLf.

Se si desidera utilizzare il set di caratteri iso-8859-1, poi si vuole sbarazzarsi di questa linea:

plainView.TransferEncoding = TransferEncoding.SevenBit; 

Se ti ostini a usare la codifica a 7 bit, quindi è possibile utilizzare solo ASCII caratteri via e-mail, in modo da cambiare il set di caratteri is0-8859-1 a "uS-ASCII"

+0

Ciao Dave Grazie ho rimosso la linea sevenbit, poi ricevo l'email cc ma non ricevo alcuna risposta dal registrar, quando aggiungo di nuovo la riga a sette bit e apporto modifiche a us-ascii mi dà ancora la stessa cosa il = OD = OA caratteri stampabili. – Louwki