我正在尝试使用php mail()
函数发送电子邮件。我的代码如下。
$subject = "Let's Connect";
$to = $_POST['to'];
$message = $_POST['message'];
mail( $to, $subject, $message, array('Content-Type: text/html; charset=UTF-8'));
问题是,在电子邮件客户端(例如Gmail和Yahoo)中,主题行中的'
变成了\'
。 Let's Connect
变为Let\'s Connect
。我在这里尝试了几种解决方案,例如
$sub = '=?UTF-8?B?'.base64_encode($subject).'?=';
$decoded_str = html_entity_decode ( $value_to_decode, ENT_QUOTES, 'UTF-8' );
它们似乎都不起作用。我应该怎么做才能解决它?
Thaks
答案 0 :(得分:2)
我会使用stripslashes()
和html_entity_decode()
mail( $to, stripslashes(html_entity_decode($subject, ENT_QUOTES, 'UTF-8' )), $message, array('Content-Type: text/html; charset=UTF-8'));
答案 1 :(得分:1)
可以使用双引号:
OuterError
或者您可以使用斜杠将其跳过
$subject = "Let's Connect";
您可以通过$subject = 'Let\'s Connect';