如何防止电子邮件主题、发件人、抄送和密送在 asp.net mvc 中嵌入电子邮件正文

How to prevent email subject, from, cc and bcc from embedding in email body in asp.net mvc

我在 asp.net mvc 应用程序中使用邮政发送电子邮件。电子邮件正在发送,但主题、发件人、抄送和密件抄送字段被嵌入到电子邮件正文中,而不是显示在适当的区域。

这是我在 web.config

中的 smtp 设置
<smtp from="support@domain.com" deliveryMethod="Network">
    <network host="mail.domain.com" userName="support@domain.com" password="mypassword" defaultCredentials="false" port="25" />
 </smtp>

这是我的电子邮件视图

@{
    Layout = null;
 }

To: @ViewBag.To
From: support@domain.com
Bcc: support@domain.com
Subject: Welcome to @ViewBag.ClientName reporting system

Hello @ViewBag.Firstname,

Welcome.

Regards

我在 SmarterMail 中的 smtp 设置是正确的并且测试工作完美。问题是格式。我该如何解决这个问题?

电子邮件已发送但显示如下:

发件人:支持@domain.com
收件人:
日期:2015 年 5 月 21 日,星期四 16:40:34 +0300
主题:

--电子邮件正文从这里开始--

发件人:支持@domain.com

密件抄送:支持@domain.com

主题:欢迎使用客户名称报告系统

您好用户,

欢迎。

此致

更新: 这是我用来发送电子邮件的代码。我正在使用邮政

dynamic email = new Email("WelcomeEmail");
email.To = user.Email;
email.FirstName = user.FirstName;
email.ClientName = clientName;
email.Send();

这样试试,

     MailMessage msg = new MailMessage();
     msg.From = new MailAddress("from mail id");
     msg.To.Add(" to mail id");
     msg.CC.Add("Mail id");
     msg.Bcc.Add("Mail id");
     msg.Subject = "enter subject";
     msg.Body="enter text";

找到解决方案。问题是邮政出于某种原因没有从我的电子邮件视图中提取电子邮件 headers。所以我在控制器中设置了所有 headers 并且只在视图中留下了电子邮件的 body 。这是我更新的电子邮件视图。

@{
   Layout = null;
} 

Hello @ViewBag.Firstname,

Welcome.

Regards

这是我在控制器中更新的设置

dynamic email = new Email("WelcomeEmail");
email.To = user.Email;
email.Bcc = "admin@domain.com";
email.From = "support@domain.com";
email.Subject = "Welcome";
email.FirstName = user.FirstName;
email.ClientName = clientName;
email.Send();

一定是有什么东西阻止了 Postal 看到 headers。

会不会有任何奇怪的空格或文本编码问题?也许尝试 re-saving 具有特定编码(例如 UTF-8)的 cshtml 文件。

没有准确的 cshtml 就很难进一步诊断。你能把它上传到某个地方吗public?