解决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实现WEB动态网页静态
Oct 09 PHP
php上传图片存入数据库示例分享
Mar 11 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
PHP获取星期几的常用方法小结
Dec 18 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 单引号与双引号的区别
2009/11/24 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
javascript基本类型详解
2014/11/28 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
零基础学Python(一)Python环境安装
2014/08/20 Python
Python松散正则表达式用法分析
2016/04/29 Python
python中的随机函数小结
2018/01/27 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
武汉瑞得软件笔试题
2015/10/27 面试题
人大代表选举标语
2014/10/07 职场文书
教师工作态度自我评价
2015/03/05 职场文书
仰望星空观后感
2015/06/10 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers