2011-11-08 55 views
6

電子郵件回覆,當我從我的網站發送電子郵件至統一http://co.za註冊商和CC我的郵件我收到一封電子郵件從他們返回,他們收到的電子郵件,但無法找到一些信息,因爲它已經添加了這些有趣的角色。我看到網站上有一篇以前的文章,但沒有一篇的答案似乎適用於我,並且我在Google上嘗試了大量文章和博客。發送純/文本電子郵件和越來越= 0D = 0A從服務器

電子郵件的全部內容由您從註冊商網站獲得的模板構建而成,我用它來填充和替換這些詳細信息,然後將電子郵件的正文發送給註冊商。

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

我的代碼:

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); 

該代碼發送BCC副本給自己和它的通過前景看起來一切似乎不錯,我應該是,但是當他們收到的字符被添加。它似乎隨機添加這些字符。那麼很明顯,請求失敗,因爲找不到秒名服務器。

返回的電子郵件:

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, 

任何幫助,將不勝感激。

注:註冊商需要的電子郵件是純文本,而不是一個base64或HTML作爲任何他們的系統拿起純/文本電子郵件和傳真,並自動對其進行處理。

謝謝

+2

貌似「引用的可打印」編碼。請參閱http://en.wikipedia.org/wiki/Quoted-printable。 –

回答

5

我想通了,改變了我的代碼如下:

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); 

所有字符空格保持像他們壽ld在電子郵件模板中。 希望這會幫助別人。

5

= OD = OA是CrLf的可引用表示形式。

如果你想使用ISO-8859-1字符集,那麼你將要擺脫這一行:

plainView.TransferEncoding = TransferEncoding.SevenBit; 

如果你堅持使用7位編碼,那麼你只能使用ASCII在你的電子郵件的字符,所以更改is0-8859-1字符集爲「US-ASCII」

+0

喜戴夫感謝我已刪除的行sevenbit然後我得到抄送電子郵件,但沒有收到來自注冊任何反應,當我再次加七位一行,並更改爲US-ASCII它仍然給了我同樣的事情= OD = OA引用可打印的字符。 – Louwki

相關問題