繁体   English   中英

PHP用HTML准备MAILTO

[英]PHP prepare MAILTO with HTML

我正在寻找解决方案,以准备完整的电子邮件以通过邮件客户端打开

PHP用于生成链接。

这是我的代码的有用部分。

$body = str_repalace('&amp','%26',$body);

$mailtarget = "mailto:".$adress."?cc=".$ccs."&Subject=".rawurlencode($subject)."&Body=".$body.
header("Location = $mailtarget");

除非我在邮件中使用html,否则此解决方案效果很好,这是必需的( <br><hr><table>

如果使用HTML,则有时正文中没有任何内容,有时只是文本的一部分。

当我使用sendmail.exe邮寄HTML时,它可以完美工作。 但这不是一个选择,因为需要手动将附件添加到邮件中。

有什么办法可以使其正常工作?

正文的mailto中不能包含HTML。

您可以尝试对HTML进行url_encode并将其设置为mailto链接中的主体,但是这样做存在很多无法在许多电子邮件客户端中使用的风险。

根据这个答案 ,它甚至在RFC 2368中定义:

特殊的hname“ body”表示关联的hvalue是消息的主体。 “正文”名称应包含消息的第一个文本/纯文本正文部分的内容。 mailto URL主要用于生成短文本消息,而这些文本消息实际上是自动处理的内容(例如邮件列表的“订阅”消息),而不是常规的MIME正文。

试试: &Body=".urlencode($body);

使用rawurlencode函数插入回车符:

<?php
    $body = '
    First line
    Second line';
    header("location: mailto:emailadresse@domain.com?subject=Hello&body=".rawurlencode($body));
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM