邮件正文的完整内容无法使用<a href='mailto:{$to}?subject={$subject}&am


full content for mail body cannot send using <a href='mailto:{$to}?subject={$subject}&body={$body}'>

我在通过mailto:链接传递多行时遇到了麻烦。在小内容邮件正文"mailto"链接的情况下,可单击,也可以打开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>";

mailto 链接的行为取决于浏览器。你没有办法影响它。您也受到客户端计算机特殊配置的摆布:浏览器将链接中的数据传递到默认电子邮件软件的默认电子邮件帐户。这可能有效,也可能无效。

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

$subject上使用urlencode(),$body

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