bro*_*and 2 c# email system.net.mail
using (MailMessage message = new MailMessage()) // using System.Net.Mail;
{
string mailFrom = "sender@email.si";
string smtpServer = "smtp.server.net";
message.From = new MailAddress(mailFrom);
message.To.Add("xxx@gmail.com");
message.Subject = "subject";
message.SubjectEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
message.Body = "<h1>VODA</h1>";
message.BodyEncoding = Encoding.UTF8;
AlternateView plainView = AlternateView.CreateAlternateViewFromString("test content", Encoding.UTF8, "text/plain");
message.AlternateViews.Add(plainView);
SmtpClient smtpClient = new SmtpClient(smtpServer);
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential("user", "pass");
smtpClient.EnableSsl = true;
smtpClient.Port = 587;
smtpClient.Send(message);
}
Run Code Online (Sandbox Code Playgroud)
在查看在 gmail 收到的内容时,我接下来会看到:
Subject: subject
Content-Type: multipart/alternative; boundary=--boundary_0_989afdbb-5fe4-4155-ba59-3d5ffdbb909e
Message-Id: <20161208131903.36280C956C@in-1.mail.xxx.net>
----boundary_0_989afdbb-5fe4-4155-ba59-3d5ffdbb909e
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
PGgxPlZPREE8L2gxPg==
----boundary_0_989afdbb-5fe4-4155-ba59-3d5ffdbb909e
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
dGVzdCBjb250ZW50
----boundary_0_989afdbb-5fe4-4155-ba59-3d5ffdbb909e--
Run Code Online (Sandbox Code Playgroud)
为什么 System.Net.Mail.MailMessage 不设置text/html联系类型?
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
PGgxPlZPREE8L2gxPg==
Run Code Online (Sandbox Code Playgroud)
我错过了任何其他 MailMessage 属性吗?
当您使用AlternateViews的Body预计text/plain和AlternateViews提供不同的内容类型。从文档(https://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.alternateviews.aspx):
要将备用视图添加到 MailMessage 对象,请为该视图创建一个附件,然后将其添加到由 AlternateViews 返回的集合中。使用 Body 属性指定文本版本并使用 AlternateViews 集合指定具有其他 MIME 类型的视图。
| 归档时间: |
|
| 查看次数: |
2637 次 |
| 最近记录: |