邮件正文的完整内容无法使用<a href="mailto:{$to}?subject={$subject}&amp;body={$body}"></a>发送

时间:2015-01-15 06:55:27

标签: javascript php drupal-7

我在通过mailto:link传递多行时遇到了麻烦。 如果是小内容消息正文&#34; mailto&#34;链接是可单击的,也是Outlook默认邮件阅读器的打开窗口。 但是在大内容邮件正文的情况下,mailto链接无法点击,并且在某些情况下,全身内容无法传递到邮箱,它只需要有限的内容大小。如何在PHP和Drupal中解决这个问题。 你能为此建议任何其他方法。

我的代码如下: -

$to= "XXX@mail.com";
$subject = "XXX"
$body = str_replace( array( '\'', '&','amp;','<p>','</p>','nbsp'), ' ', $str_body);
$body = htmlspecialchars($body);

$page.="<div>";
$page.= "<a href='mailto:{$to}?subject={$subject}&body={$body}'>"; 
$page.="</div>";

2 个答案:

答案 0 :(得分:0)

在$ subject,$ body

上使用urlencode()
$to= "XXX@mail.com";
$subject = urlencode("XXX");
$body = strip_tags($str_body); // use strip tags
$body = urlencode(htmlspecialchars($body));

答案 1 :(得分:0)

mailto链接的行为取决于浏览器。你无法影响它。此外,您还可以使用客户端计算机的特殊配置:浏览器将链接中的数据传递给默认电子邮件软件的默认电子邮件帐户。这可能有效或无效。

如果您想控制发送的电子邮件,您的页面必须POST服务器上的数据,您必须使用mail()函数或邮件程序库使用PHP发送它。