发送纯文本邮件,从服务器得到的邮件响应=0D=0A
本文关键字:响应 0A 0D 文本 服务器 | 更新日期: 2023-09-27 18:13:56
当我从我的网站发送电子邮件到统一http://co.za注册商并在邮件中抄送我自己时,我收到一封电子邮件,他们收到了电子邮件,但找不到一些信息,因为它有那些有趣的字符添加到它。我看到网站上有一个以前的帖子,但没有一个答案似乎对我有用,我在谷歌上尝试了很多帖子和博客。
电子邮件的整个主体是由您从注册商网站获得的模板构建的,我使用etc作为我需要填充和替换这些的详细信息,然后将电子邮件的主体发送给注册商。
EX:
1a. Complete domain name: < domainname >
gets replaces with the domain name exmaple.co.za
我代码: MailMessage emailmsg = new MailMessage("myemail@domain.co.za", "coza-admin@co.za");
emailmsg.Subject = "N domain domain.co.za";
emailmsg.Bcc.Add("myemail@domain.co.za");
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);
这个代码发送密件副本给我自己,从它的外观通过outlook似乎都很好,我应该是,但当他们收到它的字符被添加。这些字符似乎是随机添加的。然后很明显请求失败,因为无法找到第二个名称服务器。
返回电子邮件:
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,因为他们的系统会接收纯文本电子邮件和传真,并自动处理它们。
谢谢
我明白了,把我的代码改成如下:
MailMessage emailmsg = new MailMessage("from@address.co.za", "to@address.co.za")
emailmsg.Subject = "Subject";
emailmsg.IsBodyHtml = false;
emailmsg.ReplyToList.Add("from@address.co.za");
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);
所有字符空格都保持在电子邮件模板中应有的位置。
=OD=OA是crf的引号可打印表示。
如果您想使用iso-8859-1字符集,那么您将需要删除这一行:
plainView.TransferEncoding = TransferEncoding.SevenBit;
如果你坚持使用7位编码,那么你只能在电子邮件中使用ASCII字符,所以将is0-8859-1字符集更改为"us-ascii"