我通过php邮件功能发送html电子邮件给客户端。而&以粗体显示的符号在电子邮件替换中产生问题! %20像我的ID中的字符,如下面的(粗体)。标签值的html电子邮件问题
http://test.com/test-page.php?id=abcd**!**1234&cat_id=23
以下是我的代码。 $ to ='[email protected]';
// subject
$subject = 'test';
//message
$message.='<html><head><meta charset="UTF-8" /></head><body><p><a href="http://test.com/test-page.php?id=abcd1234&cat_id=23" target="_blank">Wine **&** Dine Offers</a></p></body></html>';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
// Additional headers
$headers .= 'To: test <[email protected]>' . "\r\n";
$headers .= 'From: test user <[email protected]>' . "\r\n";
// Mail it
mail($to, $subject, $message, $headers);
发送邮件后,我越来越!和%20像电子邮件中的字符。 我也试过&,除了&在电子邮件中,但没有用!在我的电子邮件中添加html。
虽然我同意,如果这是必要存在在客户端,其中的参数越来越双重编码(因为PHP自动urldecodes在'$ _GET'参数),这将是一个问题更好地找到并修复此问题... – DaveRandom
没有用处?id = 83f428239f!%20f3e338d02779a25e0bd641&cat_id = 10 – jit