解决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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
把PHP安装为Apache DSO
Oct 09 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php生成数字字母的验证码图片
Jul 14 PHP
php实现倒计时效果
Dec 19 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
PHP与以太坊交互详解
Aug 24 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
loading动画特效小结
2017/01/22 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
python数据封装json格式数据
2018/03/04 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
Python学习之os模块及用法
2020/06/03 Python
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
搞笑创意广告语
2014/03/17 职场文书
门面房租房协议书
2014/08/20 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python