转换Mandrill纯文本电子邮件到HTML与模板


Converting Mandrill Plain-Text Emails to HTML with Template

几个星期以来,我一直在尝试转换纯文本电子邮件,并使用Mandrill将转换后的HTML插入模板。我可以使用规则引擎将纯文本电子邮件转换为HTML。我还可以使用规则引擎将HTML插入到模板中。然而,我似乎不能两者兼顾。

我使用这个模板:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Andrew College</title>
</head>
<body style="background: #F4F4F4;">
    <div style="max-width:600px; margin: 0 auto; padding-top:20px;">
        <a href="http://solutionguard.com" target="_blank"><img src="https://www.andrewcollege.edu/sites/default/files/attachments/aclogo.png" style="padding: 10px 0px; max-width: 50%; height: auto;" alt="Andrew College"/></a>
    </div>
    <div style="max-width:600px; margin-left: auto; margin-right: auto; background:#ffffff; padding: 10px 10px 10px 10px; border: 1px solid #cfcfcf;">
        <span mc:edit="main" style="text-align:left; font-family:sans-serif; font-size: 16px; line-height: 150%;">Some sample text.</span>
    </div>
    <p style="text-align:center; font-family: sans-serif; font-size:13px; line-height:150%">&copy; <a href="https://andrewcollege.edu" target="_blank">Andrew College</a>
    </p>
</body>
</html>

规则引擎设置:

  • 如果发件人的电子邮件匹配xxx@xxx.com,然后设置HTML生成从文本ON和模板设置为TestTemplate使用模板块main

然而,最终的电子邮件只显示空白模板。使用Gmail的Show Original Content功能会产生以下结果:

Content-Type: multipart/alternative; boundary="_av-zlN5SA0dJJ8qF-AJlRIGAg"
--_av-zlN5SA0dJJ8qF-AJlRIGAg
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
This is a test of the HTML template.
Thanks,
Bob User
--_av-zlN5SA0dJJ8qF-AJlRIGAg
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Solution Guard, LLC</title>
</head>
<body style="background: #F4F4F4;">
    <div style="max-width:600px; margin: 0 auto; padding-top:20px;">
        <a     href="http://t.andrewcollege.edu/track/click/30210239/solutionguard.com?p=eyJzIjoiQjgxaUxaYXZvekdyYTVDTmZXdXd2MHNDMk1vIiwidiI6MSwicCI6IntcInVcIjozMDIxMDIzOSxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvc29sdXRpb25ndWFyZC5jb21cIixcImlkXCI6XCI3NWM2Y2RjNjg4NDA0OTllYTQ0MTU3YTIzMDBhOThhYlwiLFwidXJsX2lkc1wiOltcIjU3ODA4MzJlMzEwZWIxNmJhYzNiMjNhYzZjNGZlODYwZDU0NmY2MWNcIl19In0" target="_blank"><img src="https://www.andrewcollege.edu/sites/default/files/attachments/aclogo.png" style="padding: 10px 0px; max-width: 50%; height: auto;" alt="Solution Guard"></a>
    </div>
    <div style="max-width:600px; margin-left: auto; margin-right: auto; background:#ffffff; padding: 10px 10px 10px 10px; border: 1px solid #cfcfcf;">
        <span style="text-align:left; font-family:sans-serif; font-size: 16px; line-height: 150%;"></span>
    </div>
    <p style="text-align:center; font-family: sans-serif; font-size:13px; line-height:150%">&copy; <a href="http://t.andrewcollege.edu/track/click/30210239/andrewcollege.edu?p=eyJzIjoiZlg1N0IzS1kyQVJqTF9KLWhZSWJyMXNSZXYwIiwidiI6MSwicCI6IntcInVcIjozMDIxMDIzOSxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL2FuZHJld2NvbGxlZ2UuZWR1XCIsXCJpZFwiOlwiNzVjNmNkYzY4ODQwNDk5ZWE0NDE1N2EyMzAwYTk4YWJcIixcInVybF9pZHNcIjpbXCI0NzNkOWZiMWQ3ODUxOGZhMmFjMjE3YzU1N2ZmYjlhYmU0MDgyZjdiXCJdfSJ9" target="_blank">Andrew College</a>
    </p>
<img src="http://t.andrewcollege.edu/track/open.php?u=30210239&id=75c6cdc68840499ea44157a2300a98ab" height="1" width="1"></body>
</html>
--_av-zlN5SA0dJJ8qF-AJlRIGAg--

是否有办法将纯文本部分插入到 HTML模板?谢谢你的帮助。

你不能同时使用规则,因为使用规则应用的模板只会将当前可用的HTML内容放置到模板块中(在你的例子中是"main")。

将纯文本转换为HTML的过程发生在应用规则之后,因为如果在规则处理期间更改了模板或HTML,则自动生成的HTML将不再与生成的内容匹配,必须再次运行。因此,您希望在将消息转发给Mandrill之前处理到HTML的转换。