Laravel邮件带主题的重音

时间:2015-08-04 20:34:30

标签: php email laravel

我有发送邮件的服务。

我的问题是标题中的主题包含重音符,但它们没有显示在邮件中。

例如我放入:

->subject ( 'Olvidó de Contrase$ntildea' );

在邮件中,主题看起来像'Olvid de Contrase'

它没有显示ó和ñ字母。

非常感谢任何帮助。

2 个答案:

答案 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/