我正在使用ActionMailer.NET从我的ASP.NET MVC应用程序发送一些电子邮件。
现在,此过程的一部分是发送消息的HTML 和文本版本,以支持纯文本客户端。
但我所看到的是,GMail 始终挑选文本版本。
我试过雅虎,雅虎正在正确地选择HTML版本。
我尝试将我的HTML简化为<h1>
和<span>
标记,而GMail仍然选择了文本版本,这意味着HTML的内容没有问题。
这是预期的行为吗?
因为当我发送仅HTML版时,GMail会正确显示HTML版本。
我在HTML中设置元标记如下:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
有没有其他人遇到过这种行为,并找到了解决方案?
因为就目前而言,我可能不得不发送仅 HTML版本,以便GMail会渲染它,因为太多的客户使用GMail。
以下是我尝试发送的基本HTML示例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<h1>This is the heading</h1>
<span>This is some text.</span>
</body>
</html>
GMail甚至不允许这样做。
答案 0 :(得分:1)
大多数基于Web的客户端和桌面电子邮件客户端会忽略电子邮件的<head>
标记中的任何内容。
要发送html和文本版本,您需要正确构建邮件消息 - 有两个mime块。
向我们展示您用于构建电子邮件的完整代码。
答案 1 :(得分:0)
我想我应该检查的第一件事是ActionMailer.NET问题。
我做了一些谷歌搜索,但没有出现。
这个问题已在2天前修复,因此获取最新的软件包解决了这个问题。
https://bitbucket.org/swaj/actionmailer.net/issue/23/multipart-mail-problem
该问题实际上与Thunderbird有关,但猜测GMail有类似的处理多部分电子邮件的方式。
问题解决了!