Mandrill:收到的电子邮件中缺少 HTML Href URL

Posted

技术标签:

【中文标题】Mandrill:收到的电子邮件中缺少 HTML Href URL【英文标题】:Mandrill: Missing HTML Href URL on received email 【发布时间】:2016-05-31 15:42:03 【问题描述】:

我只是在测试通过 Mandrill 发送的电子邮件,发现我无法点击任何内容链接。当我使用浏览器的检查元素时,我发现:

<a>Test</a>

而不是

<a href = "http://test.com">Test</a>

这是来自 Mandrill 的 API 日志:


    "template_name": "Test_Email",
    "template_content": [
        
            "name": "email-content",
            "content": "<a href=\\\"http://test.com/\\\">Test</a>"
        
...

我在上面的 API 日志中发现可疑之处是:它在真实链接之前和之后有 3 个正斜杠。我检查了我的其他工作模板的 API 日志,它们在真实链接之前和之后只有一个正斜杠。所以它应该是这样的:

"content": "<a href=\"http://test.com/\">Test</a>"

知道这里发生了什么吗?

这是我的 php 代码:

$mandrill = new Mandrill("KEY_CODE");
$message = array(
    'subject' => $_POST['mass_email_subject'],
    'from_email' => 'noreply@test.com',
    'to' => array(
        array(
            'email' => $user->user_email
        )
    )
);

$template_name = 'Test_Email';
$template_content = array(
    array(
        'name' => 'email-content',
        'content' => $_POST['mass_email_content'] // '<a href = "http://test.com/">Test</a>'
    )
);

$mandrill->messages->sendTemplate( $template_name, $template_content, $message );

【问题讨论】:

不要在href = "link" 之间放置空格。它总是会产生问题。 @Yash 有或没有空格 = 它仍然不起作用。还有其他想法吗? $message 中的链接传递为'text' =&gt; $_POST['mass_email_content'] @Yash 我试过了,但锚标签仍然缺少 href="http://..." 是否需要使用sendTemplate()...? 【参考方案1】:

答案是用 PHP 的 stripslashes() 函数包装你发布的变量。

stripslashes( $_POST['mass_email_content'] );

【讨论】:

以上是关于Mandrill:收到的电子邮件中缺少 HTML Href URL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 使用 Mandrill 发送电子邮件?

在 mandrill 模板中使用 Ruby/rails 变量

mandrill 模板电子邮件中的动态 html

电子邮件中的 Mandrill App 内联 html 表单

如何使用 Mailchimp 和/或 Mandrill 从电子邮件标题中删除 *|MC_PREVIEW_TEXT|*

我正在使用 mandrill 和 Node.js 创建一个邮件客户端...我的节点服务器在提交邮件客户端表单时收到一个空的 POST 请求正文