提问人:user1093651 提问时间:12/25/2011 最后编辑:sshineuser1093651 更新时间:11/8/2017 访问量:340637
如何发送HTML格式的电子邮件?[复制]
How to send HTML-formatted email? [duplicate]
问:
我可以让 Web 应用程序使用 Windows 任务计划程序发送自动电子邮件。现在,我想使用我为发送电子邮件编写的以下方法发送 HTML 格式的电子邮件。
我的代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
SmtpClient sc = new SmtpClient("mail address");
MailMessage msg = null;
try
{
msg = new MailMessage("[email protected]",
"[email protected]", "Message from PSSP System",
"This email sent by the PSSP system");
sc.Send(msg);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (msg != null)
{
msg.Dispose();
}
}
}
怎么做呢?我只想在电子邮件中放置一些带有一个链接和一张图片的粗体文本。
答:
270赞
Shai
12/25/2011
#1
设置为允许您在邮件正文中使用 HTML 标记:isBodyHtml
true
msg = new MailMessage("[email protected]",
"[email protected]", "Message from PSSP System",
"This email sent by the PSSP system<br />" +
"<b>this is bold text!</b>");
msg.IsBodyHtml = true;
评论
0赞
Ullas
6/24/2016
我们可以使用自定义字体吗?
0赞
Lucas van Dongen
11/18/2016
您无法轻松自定义字体,因为自定义字体需要由邮件客户端支持。许多邮件客户端仍然使用非常基本的 IE6 之前类型的 HTML,因此它们将默认使用另一种字体。
0赞
Tomas Kubes
12/1/2016
所以我不需要使用 <HTML><BODY> 标签?
0赞
Shahidul Haque
5/6/2018
因此,如果我想在电子邮件主题中添加html,可以吗?在主题中,我需要以粗体格式显示,例如此请求的 [Action Neede]。
21赞
Pawan Nogariya
12/25/2011
#2
这对我有用
msg.BodyFormat = MailFormat.Html;
然后你就可以在你的身体里使用 HTML
msg.Body = "<em>It's great to use HTML in mail!!</em>"
评论
12赞
David Sherret
2/13/2015
这适用于 System.Web.Mail
。Doing is for the one in System.Net.Mail
MailMessage
IsBodyHtml
94赞
Ashfaq Shaikh
12/26/2011
#3
发送 html 格式电子邮件的最佳方式
此代码将位于“客户 .htm"
<table>
<tr>
<td>
Dealer's Company Name
</td>
<td>
:
</td>
<td>
#DealerCompanyName#
</td>
</tr>
</table>
使用 System.IO.File.ReadAllText 读取 HTML 文件。获取字符串变量中的所有 HTML 代码。
string Body = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("EmailTemplates/Customer.htm"));
将 Particular 字符串替换为自定义值。
Body = Body.Replace("#DealerCompanyName#", _lstGetDealerRoleAndContactInfoByCompanyIDResult[0].CompanyName);
调用 SendEmail(string Body) 函数并执行发送电子邮件的过程。
public static void SendEmail(string Body)
{
MailMessage message = new MailMessage();
message.From = new MailAddress(Session["Email"].Tostring());
message.To.Add(ConfigurationSettings.AppSettings["RequesEmail"].ToString());
message.Subject = "Request from " + SessionFactory.CurrentCompany.CompanyName + " to add a new supplier";
message.IsBodyHtml = true;
message.Body = Body;
SmtpClient smtpClient = new SmtpClient();
smtpClient.UseDefaultCredentials = true;
smtpClient.Host = ConfigurationSettings.AppSettings["SMTP"].ToString();
smtpClient.Port = Convert.ToInt32(ConfigurationSettings.AppSettings["PORT"].ToString());
smtpClient.EnableSsl = true;
smtpClient.Credentials = new System.Net.NetworkCredential(ConfigurationSettings.AppSettings["USERNAME"].ToString(), ConfigurationSettings.AppSettings["PASSWORD"].ToString());
smtpClient.Send(message);
}
评论
3赞
Kiquenet
10/7/2015
也许使用 MailDefinition 或 RazorEngine stackoverflow.com/questions/10512845/...
下一个:用 C 语言制作通知 API#
评论