簡體   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