解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题


Posted in PHP onMarch 13, 2009
// multiple recipients 
$to = 'aidan@example.com' . ', '; // note the comma 
$to .= 'wez@example.com'; 
// subject 
$subject = 'Birthday Reminders for August'; 
// message 
$message = ' 
<html> 
<head> 
<title>Birthday Reminders for August</title> 
</head> 
<body> 
<p>Here are the birthdays upcoming in August!</p> 
<table> 
<tr> 
<th>Person</th><th>Day</th><th>Month</th><th>Year</th> 
</tr> 
<tr> 
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td> 
</tr> 
<tr> 
<td>Sally</td><td>17th</td><td>August</td><td>1973</td> 
</tr> 
</table> 
</body> 
</html> 
'; 
// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
// Additional headers 
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n"; 
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n"; 
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n"; 
// Mail it 
mail($to, $subject, $message, $headers);

查看sendmail的maillog,发现奇怪的内容。
Mar 1 11:28:03 <a title="shaohui" href="http://www.shaohui.org" target="_blank">shaohui</a>.org sendmail[27526]: n213S1Xc027524: to=<shaohui_1983@163.com>, ctladdr=<shaohui@shaohui.org> (500/500), delay=00:00:02, xdelay=00:00:01, mailer=esmtp, pri=150812, relay=163mx03.mxmail.netease.com. [220.181.12.72], dsn=5.0.0, stat=Service unavailable

但是,如果我使用Linux Shell 的mail命令是可以发送成功的,不过多加了一条-f 参数伪造发件人。这是唯一的不同,于是maillog 的其中一个字段ctladdr显示也不一样。不再是apache用户,我怀疑163等国内的邮件服务提供商,把所有的apache的用户的邮件当成垃圾邮件处理掉了。
Feb 25 23:44:59 <a title="shaohui" href="http://www.shaohui.org" target="_blank">shaohui</a> sendmail[13067]: n1PFixH4013067: to=shaohui_1983@163.com, ctladdr=contact@shaohui.org (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30869, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n1PFixdx013068 Message accepted for delivery)

根源找到,于是问题就很好解决了,查一下php的手册,发现mail函数原来也是可以伪造发件人的。
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

在第六个参数additional_parameters使用额外的参数"-f sender_addr@mydomain.com", 问题就解决了。
PHP 相关文章推荐
Php部分常见问题总结
Oct 09 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
php 归并排序 数组交集
May 10 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
php+mysql查询优化简单实例
Jan 13 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
laravel-admin select框默认选中的方法
Oct 03 PHP
PHP常量及变量区别原理详解
Aug 14 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
Nov 27 PHP
PHP 文件类型判断代码
Mar 13 #PHP
php discuz 主题表和回帖表的设计
Mar 13 #PHP
php 获取mysql数据库信息代码
Mar 12 #PHP
php 删除记录实现代码
Mar 12 #PHP
php 异常处理实现代码
Mar 10 #PHP
php 表单数据的获取代码
Mar 10 #PHP
php URL编码解码函数代码
Mar 10 #PHP
You might like
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
php将html转为图片的实现方法
2017/05/19 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
表单JS弹出填写提示效果代码
2011/04/16 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
用Python写王者荣耀刷金币脚本
2017/12/21 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
Python对切片命名的实现方法
2018/10/16 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python suds访问webservice服务实现
2020/06/26 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
三好学生演讲稿范文
2014/04/26 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
警察群众路线整改措施
2014/09/26 职场文书
护士自我推荐信范文
2015/03/24 职场文书
高一军训感想
2015/08/07 职场文书
中秋节感想
2015/08/10 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
Python Django获取URL中的数据详解
2021/11/01 Python