Mandrill:收到的电子邮件中缺少 HTML Href URL
Mandrill: Missing HTML Href URL on received email
我刚刚测试了通过 Mandrill 发送的电子邮件,发现我无法点击任何内容 link。当我使用浏览器的 inspect 元素时,我发现:
<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日志中发现可疑的是:它在真正的link前后有3个正斜杠。我检查了我其他工作模板的 API 日志,它们在真正的 link 前后只有一个正斜杠。所以它应该是这样的:
"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 );
答案是用 PHP 的 stripslashes() 函数包装你发布的变量。
stripslashes( $_POST['mass_email_content'] );
我刚刚测试了通过 Mandrill 发送的电子邮件,发现我无法点击任何内容 link。当我使用浏览器的 inspect 元素时,我发现:
<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日志中发现可疑的是:它在真正的link前后有3个正斜杠。我检查了我其他工作模板的 API 日志,它们在真正的 link 前后只有一个正斜杠。所以它应该是这样的:
"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 );
答案是用 PHP 的 stripslashes() 函数包装你发布的变量。
stripslashes( $_POST['mass_email_content'] );