C# 无法在电子邮件模板中正确显示字体和图像
我使用了一个电子邮件模板作为嵌入样式(css)的单页html,我可以在html页面上正确显示所有样式,包括字体和图像。但是,当我在C#应用程序(Windows服务的测试版本)中使用此模板发送电子邮件时,字体和图像样式无法应用于Outlook邮件。到目前为止,我一直在努力:C# 无法在电子邮件模板中正确显示字体和图像,c#,html,css,asp.net,asp.net-mvc,C#,Html,Css,Asp.net,Asp.net Mvc,我使用了一个电子邮件模板作为嵌入样式(css)的单页html,我可以在html页面上正确显示所有样式,包括字体和图像。但是,当我在C#应用程序(Windows服务的测试版本)中使用此模板发送电子邮件时,字体和图像样式无法应用于Outlook邮件。到目前为止,我一直在努力: 将字体文件(ttf)添加到与示例中相同的电子邮件模板目录中(它与html文件的目录相同) 将图像(base64)嵌入到html文件中,如下所示: 尝试将字体与url一起使用,如下所示: https://fonts.goog
- 将字体文件(ttf)添加到与示例中相同的电子邮件模板目录中(它与html文件的目录相同)
- 将图像(base64)嵌入到html文件中,如下所示:
- 尝试将字体与url一起使用,如下所示: https://fonts.googleapis.com/css?family=Source+Sans+Pro'rel='stylesheet'type='text/css'>
是否将字体嵌入到html文件中,并在此模板创建的outlook邮件上正确显示字体和图像???请注意,我使用*.txt文件作为模板,但其中的代码完全是html,可以正确显示 尝试在电子邮件模板中插入自定义字体和图像的代码:
<style type="text/css">
@media screen {
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v11/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff) format('woff');
}
...
body {
font-family: "Lato", "Lucida Grande", "Lucida Sans Unicode", Tahoma, Sans-Serif;
}
</style>
<html>
<head>
</head>
<body>
<img src="data:image/jpg;base64,/*base64-data-string here*/" />
</body>
</html>
@媒体屏幕{
@字体{
字体系列:“Lato”;
字体风格:普通;
字体大小:400;
src:local('Lato-Regular')、local('Lato-Regular')、url(https://fonts.gstatic.com/s/lato/v11/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff)格式(“woff”);
}
...
身体{
字体系列:“Lato”,“Lucida Grande”,“Lucida Sans Unicode”,Tahoma,Sans Serif;
}
至于字体,有一个简单的解决方案可以使用。只需将内容包装在不推荐使用的字体元素中即可
<font face="Verdana">
<!-- content -->
</font>
所有主要的网络邮件客户端,如Gmail、Outlook.com、Yahoo!Mail和Outlook 2007/10/13/16桌面客户端都不支持网络字体-您需要通过内联css来实现。@LuisP.A.嵌入html的图像如何?@NegiRox您能举个例子吗?@ClintEastwood抱歉,但没有任何意义。我尝试了同样的例子上面添加了我的base64数据字符串,但没有任何更改…有什么想法吗?我不知道为什么它对您不起作用。我之前已经测试过它,并在我的laravel项目中使用了此模式。在我的最后它完全起作用。转到我的链接并查看此内容。谢谢。非常感谢您的回复。邮件消息上的问题,因为我已经可以显示图像和字体与您在html页面上所做的相同,但无法在Outlook或Gmail邮件上显示。还有其他想法吗?您通过电子邮件进行过测试吗?事实上,主要问题是图像。您有没有想法在邮件模板中嵌入和显示图像?