我正在使用以下代码发送电子邮件:
<?php
$to = $_POST['email'];
$subject = "Subject!";
$message = "Hello!";
$headers = "From: Me<example@example.com>\r\n";
$headers .= "Return-Path: example@example.com\r\n";
$headers .= "BCC: example@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
mail($to,$subject,$message,$headers);
?>
尽管使用charset=utf-8
主题和电子邮件地址行中的字符仍然无法正确解码。我得到的字符是这样的:ößä
。
如何设置主题和电子邮件地址行的字符集?
答案 0 :(得分:2)
要对您应使用的电子邮件主题进行编码:
$subject = '=?utf-8?B?'.base64_encode($subject).'?=';
然后在mail
函数内部:
mail($to,$subject,...);