【发布时间】:2013-10-31 06:52:37
【问题描述】:
我创建了一种方法,可以向客户发送包含信息的电子邮件。然而,这封电子邮件看起来很糟糕,因为它没有风格。由于某种原因,我无法将样式应用于电子邮件。我试过用谷歌搜索它,在后面的代码中有很多关于如何解决这个问题的方法,但这不是我的问题。我必须将 css 代码放在 Html 正文中,因为它必须在客户打开电子邮件时显示给他。
所以我的问题是,如何将 css 添加到上面的 html 代码中?我试过做:
<div style='...'></div>
这不起作用
感谢任何有关如何解决此问题的帮助。下面是我的一些代码。为了便于阅读,我已经缩短了它。
string HtmlBody = @"<div style='float: right'>
<h3>Faktura</h3> <br />
Navn:<asp:Label ID='navn' runat='server' Text='%Navn%'/> <br />
Adresse:<asp:Label ID='adresse' runat='server' Text='%Adresse%'/> <br />
Postnr:<asp:Label ID='postnummer' runat='server' Text='%Postnr%'/> <br />
Land:<asp:Label ID='land' runat='server' Text='Danmark' /> <br />
Tlf: <asp:Label ID='tlfnummer' runat='server' Text='%Tlf%' /> <br />
Mail: <asp:Label ID='email' runat='server' Text='%Email%' /> <br />
<div style='float: right'>
<p>Dato</p>
</div>
<hr /> <br />
<table style='background-color: #c00764'>
<tr>
<td><b>Fakturanr:</b></td>
<td>%fakturanr%</td>
</tr>
<tr>
<td><b>Ordrenr:</b></td>
<td>%Ordrenr%</td>
</tr>
</table>
</div>";
这是我在邮件部分的一些信息
MailMessage mailMsg = new MailMessage();
mailMsg.IsBodyHtml = true;
mailMsg.Priority = MailPriority.Normal;
var smtpValues = GetSmtpValues();
var smtpCredentials = GetNetworkCredentials();
SmtpClient smptClient = new SmtpClient(smtpValues.Key, smtpValues.Value);
smptClient.EnableSsl = true;
smptClient.Credentials = new NetworkCredential(smtpCredentials.Key, smtpCredentials.Value);
//Send mail
smptClient.Send(mailMsg);
【问题讨论】:
-
你的问题是什么/你想做什么,到底是什么问题?
-
您已经使用内联 css,应该可以正常工作,只要确保您发送支持 HTML 的电子邮件。
-
客户使用什么电子邮件客户端?电子邮件客户端在支持多少 CSS 方面存在很大差异。否则 HTML 是否正常显示(h3 等的粗体和大)?
-
内联样式绝对适用于大多数基本样式。您是否将
IsBodyHtml指定为您的System.Net.Mail.MailMessage对象为 true? -
我推荐使用这个帖子:stackoverflow.com/questions/9584170/…Best Regards, Dii~