在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题。 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件。本文不涉及GBK编码或者GB2312编码格式的中文邮件。 解决这个其实是很简单的。请读下面的代
在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题。
在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件。本文不涉及GBK编码或者GB2312编码格式的中文邮件。
解决这个其实是很简单的。请读下面的代码。引用你的电邮标题为’=?UTF-8?B?’和’?=’。
你可以选择使用HTML编辑你的邮件内容,只是别忘了使用utf-8字符编码。
MIME-Version: 1.0 MIME版本(MIME-Version),这个头部域在邮件消息的报文用一个版本号码来指明消息遵从的MIME规范的版本。目前版本是1.0。
Content-Type: text/html; charset=UTF-8; 支持HTML格式,UTF-8编码。
Content-Transfer-Encoding: 8Bit
内容传输编码,8位元ASCII码。
立即学习“PHP免费学习笔记(深入)”;
PHPMailer - 一个功能齐全的用于PHP的电子邮件创建和传输类。支持UTF-8内容以及8位、base64、二进制和quoted-printable编码。通过SMTPS和SMTP+STARTTLS传输提供LOGIN、PLAIN、CRAM-MD5和XOAUTH2机制的SMTP身份验证。自动验证电子邮件地址。许多PHP开发人员需要从他们的代码中发送电子邮件。唯一直接支持此功能的PHP函数是mail()。然而,它不提供任何帮助来使用流行的功能,如加密、身份验证、HTML消息和附件。正确格式化电子邮件是令人
18
X-Mailer: LixiPHP
发送邮件的系统名,可以随便写。
From: =?utf-8?B?发送邮件人的姓名?= <FROM_EMAIL_ADDRESS> 发送的邮件地址
To: =?utf-8?B?接受邮件人的姓名?= <TO_EMAIL_ADDRESS> 接受的邮件地址
Subject: =?utf-8?B?邮件标题?= 邮件标题
通过查看邮件的源代码,我可以看到:
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
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号