我有发送邮件的服务。
我的问题是标题中的主题包含重音符,但它们没有显示在邮件中。
例如我放入:
->subject ( 'Olvidó de Contrase$ntildea' );
在邮件中,主题看起来像'Olvid de Contrase'
它没有显示ó和ñ字母。
非常感谢任何帮助。
答案 0 :(得分:3)
好的我找到了解决方案,就是这个
->subject(utf8_encode( 'Olvidó de Contraseña' ));
作品完美!谢谢你的帮助!
答案 1 :(得分:0)
主题是电子邮件标题。标题可能只包含ASCII字符。
因此,您必须使用base64(B)和quote-printable(Q)对头进行编码。
$to = 'example@example.com';
$subject = 'Subject with non ASCII ó¿¡á';
$message = 'Message with non ASCII ó¿¡á';
$headers = 'From: example@example.com'."\r\n"
.'Content-Type: text/plain; charset=utf-8'."\r\n";
mail($to, '=?utf-8?B?'.base64_encode($subject).'?=', $message, $headers);
阅读有关RFC 1342(互联网邮件标题中非ASCII文本的表示)的更多信息:http://datatracker.ietf.org/doc/rfc1342/