php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法:1、将subject里头的文字符合RFC 2047的规范;2、在headers中添加【content-type】;3、对用来发送邮件的主机进行正确配置。
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法:
1.使用 PEAR 的 Mail 类
PEAR 的 Mail 类可以让你选择使用 sendmail 或者 SMTP 方式发信,这样的包装好的接口很好用,你没有必要去自己重新发明轮子。
2.关于headers 中subject 的乱码
不要把任何除了iso-8859-1
编码之外的文字直接放进subject,正确的方式是让subject 里头的文字符合RFC 2047
的规范,假设你的subject 处的文字的编码是GB2312
,那么正确的subject 应该是这样的格式
$headers['subject'] = '=?GB2312?B?' . base64_encode('标题文字') . '?=';
如果是UTF-8 的话,把上面开头的GB2312 替换成UTF-8 即可。推荐在标题处使用GB2312 编码,因为MTA 的分化实在是严重,大部分的MSP使用的都是自己开发的 MTA,而相信国内的大部分 MTA 无论如何都是可以支持 GB2312 编码的。
而如果是发送到国外的MSP,则推荐你在subject 处使用经过base64 编码的 UTF-8 文字,因为他们很可能不支持 GB2312 编码。
3.一定在headers 中添加content-type
电子邮件的 headers 中的 content-type
处类似网页的,也是 text/plain; charset=gb2312
这样的格式。这个选项主要对收邮件的客户端有意义,可以避免在客户端出现乱码,部分的 Webmail 也会根据这里的设置对邮件的内容进行编码转换以正确显示。你可以设想一下你用 gb2312 编码发到 .com.tw
的邮箱时候的情况。
4.对你用来发送邮件的主机进行正确配置
1)一定配置反向解析,因为大部分的非固定 IP 都无法做反向解析,部分反垃圾邮件策略以此作为判断依据。
2)一定配置 MX 解析,道理同上。
3)确保你的 return path 是能够收到退信的,否则你的邮件发送服务器可能会进入接收端的黑名单。
$subject = stripslashes($the_post['Title']); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: 8bit\r\n"; $message = stripslashes(strip_tags($the_post['Content'])); mail($to, $subject, $message, $headers);
先用函数base64_encode()
— 使用MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
标题字符串后加:?=
例如:
<?php $to = "clairelume@qq.com"; //将此电子邮件地址改为自己的。 $name = $_POST['name']; $email = $_POST['email']; $subject = "来自博客读者的邮件"; $subject = "=?UTF-8?B?".base64_encode($subject)."?="; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: 8bit\r\n"; $message = $_POST['message']; mail($to,$subject,$message,"From: ".$email."",$headers); echo 'OK '.$name.', 您的邮件已发送。'; ?>
这样,发送的中文邮件标题就不是乱码了。
相关学习推荐:PHP编程从入门到精通
以上是php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器