【问题标题】:PHP mail utf-8 from [duplicate]来自[重复]的PHP邮件utf-8
【发布时间】:2012-10-18 21:14:45
【问题描述】:

可能重复:
How to change envelope from address using PHP mail?

我的 PHP 代码:

function send ( $from, $to, $subject, $message ) {

    $header = array ();
    $header [] = "MIME-Version: 1.0";
    $header [] = "Content-type: text/html; charset=UTF-8";
    $header [] = "From: =?UTF-8?B?" . base64_encode ( $from [ 'name' ] ) . "?= <" . $from [ 'mail' ] . ">";
    return mail ( $to, "=?UTF-8?B?" . base64_encode ( $subject ) . "?=", $message, implode ( "\r\n", $header ) );

}

send ( array ( 'name' => 'oóöőuúüűÁÉÍ', 'mail' => 'from@mail.mail' ), 'to@mail.mail', 'oóöőuúüűÁÉÍ', 'oóöőuúüűÁÉÍ.' );

这是可行的,但是... from 不是“oóöőuúüűÁÉÍ”,而是“from@mail.mail”。信源没问题,根据姓名和邮件进行编码。 mail.com账号查看失败,但信源正常。

【问题讨论】:

  • 您能否在您的问题中粘贴收到的电子邮件消息的标题?这样,我们就可以检查 From 标头是否正常。
  • 来源:来自:=?UTF-8?B?b8Ozw7bFkXXDusO8xbHDgcOJw40=?=
  • 其他邮件服务是查看源代码,没关系。 mail.com 只是失败。
  • 所以,电子邮件本身通常工作正常,只是一项特定服务无法正确处理它?在这种情况下,我将通过将所有内容与通过其他方式发送到同一服务的已知良好 UTF-8 电子邮件进行比较来开始进行故障排除。找出他们的不同之处以及您可能遗漏的内容。

标签: php email utf-8


【解决方案1】:

试试:

$headers []= '内容类型: text/html;字符集=iso-8859-1';

希望能帮到你!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2017-08-27
    • 2019-04-28
    • 2012-06-25
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多