为什么当我发送html电子邮件时,它看起来像:
但初始页面是:
这是代码:
MailMessage message = new MailMessage();
message.IsBodyHtml = true;
message.Subject = subject;
message.Body = body;
foreach (MailAddress recipient in recipients)
{
message.To.Add(recipient);
}
if (message.To.Count > 0)
{
SmtpClient smtp = new SmtpClient();
smtp.Send(message);
return true;
}
Html文件包含头部的css。 http://pastebin.com/r5V6X4Ld
答案 0 :(得分:1)
我假设body
变量只包含HTML代码,但不包含CSS或图像,因为两者都是单独的文件。
基本上,您需要将图像附加到邮件并更改正文的HTML代码以指向正确的位置。有关详细信息和示例代码,请参阅here。
这可能也会有所帮助:http://www.alistapart.com/articles/cssemail/
<强>问题:强>
有些客户在没有任何风格的情况下呈现我的电子邮件。我首先将其归因于样式的剥离,但后来发现样式在源代码中清晰可见。我随后花了很多时间试图揭开罪魁祸首,测试无数版本的电子邮件。唉,问题就在我的鼻子底下:样式没有被剥离 - 名字前面的点(。)。因此,“。Feature {}”变为“Feature {}”,从而导致无意义的样式定义。
<强>解决方案:强>
我使用了类选择器,它确保每个样式都以字母而不是点开头。所以“.Feature {}”将成为“td.Feature {}”或“div.Feature {}”(取决于应用程序)。一个有点平凡的修复,但有效和(再次)合规。
答案 1 :(得分:0)
您必须使用完整路径引用您的图像,即www.yourdomain / imagename.jpg等,并且还必须将该类作为内联样式提供