Rumah > php教程 > php手册 > 解决PHP mail发送UTF-8中文邮件乱码

解决PHP mail发送UTF-8中文邮件乱码

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-06 20:08:56
asal
1681 orang telah melayarinya

在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题。 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件。本文不涉及GBK编码或者GB2312编码格式的中文邮件。 解决这个其实是很简单的。请读下面的代

在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题。

如何发送中文邮件时没有乱码?

在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件。本文不涉及GBK编码或者GB2312编码格式的中文邮件。

解决这个其实是很简单的。请读下面的代码。引用你的电邮标题为’=?UTF-8?B?’和’?=’。

你可以选择使用HTML编辑你的邮件内容,只是别忘了使用utf-8字符编码。

邮件Header内容

MIME-Version: 1.0
MIME版本(MIME-Version),这个头部域在邮件消息的报文用一个版本号码来指明消息遵从的MIME规范的版本。目前版本是1.0。
Salin selepas log masuk
Content-Type: text/html; charset=UTF-8;
支持HTML格式,UTF-8编码。
Salin selepas log masuk

Content-Transfer-Encoding: 8Bit

内容传输编码,8位元ASCII码。

X-Mailer: LixiPHP

发送邮件的系统名,可以随便写。

From: =?utf-8?B?发送邮件人的姓名?= <from_email_address>
发送的邮件地址</from_email_address>
Salin selepas log masuk
To: =?utf-8?B?接受邮件人的姓名?= <to_email_address>
接受的邮件地址</to_email_address>
Salin selepas log masuk
Subject: =?utf-8?B?邮件标题?=
邮件标题
Salin selepas log masuk
通过查看邮件的源代码,我可以看到:
Salin selepas log masuk

PHP Mail代码

public function send_email($to, $from, $subject, $message,  $fromname = ”,  $toname=”) {

  if($toname) {

    $to = ‘=?UTF-8?B?’.base64_encode($toname).’?= ‘ . $to;

  }

  if($fromname) {

    $from = ‘=?UTF-8?B?’.base64_encode($fromname).’?= ‘ . $from;

  }

  $headers = ‘From: ‘.$from."\r\n".

  "MIME-Version: 1.0\r\n" .

  "Content-Type: text/html; charset=UTF-8; format=flowed\r\n" .

  "Content-Transfer-Encoding: 8Bit\r\n" .

  ‘X-Mailer: PHP/’ . phpversion();

  $subject = ‘=?UTF-8?B?’.base64_encode($subject).’?=’;

  //send email

  mail($to, $subject, $message, $headers);

}

这是一个简单的UTF-8邮件发送功能,它把头部信息中的中文通过加密来解决中文乱码的问题。

(...)
Read the rest of 解决PHP mail发送UTF-8中文邮件乱码 (3 words)


© lixiphp for LixiPHP, 2013. | Permalink | No comment | Add to del.icio.us
Post tags: mail, PHP, UTF8

Feed enhanced by Better Feed from Ozh

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan