发送文本和HTML电子邮件 - 为什么Gmail总是在挑选文本版本?

时间:2011-08-19 00:10:04

标签: asp.net-mvc email gmail actionmailer html-email

我正在使用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甚至不允许这样做。

2 个答案:

答案 0 :(得分:1)

大多数基于Web的客户端和桌面电子邮件客户端会忽略电子邮件的<head>标记中的任何内容。

要发送html和文本版本,您需要正确构建邮件消息 - 有两个mime块。

向我们展示您用于构建电子邮件的完整代码。

答案 1 :(得分:0)

我想我应该检查的第一件事是ActionMailer.NET问题。

我做了一些谷歌搜索,但没有出现。

这个问题已在2天前修复,因此获取最新的软件包解决了这个问题。

https://bitbucket.org/swaj/actionmailer.net/issue/23/multipart-mail-problem

该问题实际上与Thunderbird有关,但猜测GMail有类似的处理多部分电子邮件的方式。

问题解决了!