postfix 发信错误
来源:互联网 发布:奔奔数码 淘宝店 编辑:程序博客网 时间:2024/05/24 00:21
原贴:http://coolerfeng.blog.51cto.com/133059/48317
不过总觉得不太好
参考http://www.5dmail.net/html/2007-3-14/2007314195613.htm
得知是postfix中限制认证用户使用的sender address 功能,默认其实都是注释掉的,晕
如果需要此功能,需要修改/etc/postfix/main.cf
postfix 发信错误
2007-10-30 15:26:27
标签:postfix reject
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://coolerfeng.blog.51cto.com/133059/48317
postfix发信reject
今天迁移了mail服务器,对新服务器进行了一段时间监控,发现日志中不断出现如下错误。
日志如下:
Oct 30 10:14:11 mail2 postfix/smtpd[10467]: NOQUEUE: reject: RCPT from unknown[10.10.8.2]:
553 5.7.1 <service@XXX.com.cn>: Sender address rejected: not owned by user
payment@XXX.com.cn; from=<service@XXX.com.cn> to=<zjnbzks120@hotmail.com>
proto=ESMTP helo=<app101xxx.com.cn>
根据提示判断是app101这台服务器上配置的jspMail自动发信出现了问题
查看app上关于jspmail的配置发现mail from的邮件地址和smtpuser的用户不一致
,即用A用户验证,然后伪装成B用户发信。
如果用客户端发信,可以看到如下图
反复试验后发现注释postfix的main.cf
如下行后可以解决此问题
smtpd_sender_restrictions =
# reject_sender_login_mismatch,
# reject_authenticated_sender_login_mismatch,
# reject_unauthenticated_sender_login_mismatch
如下行后可以解决此问题
smtpd_sender_restrictions =
# reject_sender_login_mismatch,
# reject_authenticated_sender_login_mismatch,
# reject_unauthenticated_sender_login_mismatch
不过总觉得不太好
参考http://www.5dmail.net/html/2007-3-14/2007314195613.htm
得知是postfix中限制认证用户使用的sender address 功能,默认其实都是注释掉的,晕
如果需要此功能,需要修改/etc/postfix/main.cf
smtpd_sender_restrictions =
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps,
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
然后创建/etc/postfix/sender_login_maps
把需要验证的用户加进去
这里我们把mail from和smtpuser不一致的加进去即可。
格式为:A地址 A用户
这里为了让service@xxx.com.cn可以被多个用户公用,用户之间逗号隔开
service@xxx.com.cn payment@xxx.com.cn,service@xxx.com.cn
其他用户可以不用添加,因为可以通过mysql来自动匹配。
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
然后创建/etc/postfix/sender_login_maps
把需要验证的用户加进去
这里我们把mail from和smtpuser不一致的加进去即可。
格式为:A地址 A用户
这里为了让service@xxx.com.cn可以被多个用户公用,用户之间逗号隔开
service@xxx.com.cn payment@xxx.com.cn,service@xxx.com.cn
其他用户可以不用添加,因为可以通过mysql来自动匹配。
#postmap sender_login_maps
#postfix reload
#postfix reload
继续观察日志,发现类似错误不再出现。
后来又想到另一个解决办法,更简单
修改postfix的main.cf
mynetworks = 127.0.0.1, 10.10.8.0/24, 10.10.9.0/24
smtpd_sender_restrictions =
permit_mynetworks,
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps =
# hash:/etc/postfix/sender_login_maps,
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
这样内网的机器直接发送,不需要验证了。再观察一下日志,果然如此
Oct 30 16:52:14 mail2 postfix/smtpd[11110]: connect from unknown[10.10.8.6]
Oct 30 16:52:14 mail2 postfix/smtpd[11110]: 7A0B65E4433: client=unknown[10.10.8.6], sasl_method=LOGIN, sasl_username=payment@xxx.com.cn
Oct 30 16:52:14 mail2 postfix/cleanup[10889]: 7A0B65E4433: hold: header Received: from app105.chinabank.com.cn (unknown [10.10.8.6])??by mail.chinabank.com.cn (Postfix - By chinabank.com.cn) with ESMTP id 7A0B65E4433??for <guohui@cndns.com>; Tue, 30 Oct 2007 16:52:14 +080 from unknown[10.10.8.6]; from=<service@xxx.com.cn> to=<guohui@cndns.com> proto=ESMTP helo=<app105.xxx.com.cn>
Oct 30 16:52:14 mail2 postfix/smtpd[11110]: 7A0B65E4433: client=unknown[10.10.8.6], sasl_method=LOGIN, sasl_username=payment@xxx.com.cn
Oct 30 16:52:14 mail2 postfix/cleanup[10889]: 7A0B65E4433: hold: header Received: from app105.chinabank.com.cn (unknown [10.10.8.6])??by mail.chinabank.com.cn (Postfix - By chinabank.com.cn) with ESMTP id 7A0B65E4433??for <guohui@cndns.com>; Tue, 30 Oct 2007 16:52:14 +080 from unknown[10.10.8.6]; from=<service@xxx.com.cn> to=<guohui@cndns.com> proto=ESMTP helo=<app105.xxx.com.cn>
本文出自 “风吹云动” 博客,请务必保留此出处http://coolerfeng.blog.51cto.com/133059/48317
- postfix 发信错误
- Postfix发信的频率控制几个参数
- postfix 错误汇总
- postfix常用错误解决方案
- 阿里云CentOS关于sendmail更改为postfix默认发信的设置
- RHEl 5服务篇—部署Postfix邮件服务(二)配置邮件服务器的收、发信服务
- RHEL 5服务篇—部署Postfix邮件系统(四)设置SMTP发信认证及别名机制
- Postfix
- postfix
- postfix
- postfix
- postfix
- postfix
- postfix的esmtp用saslauthd 认证错误
- postfix smtpd_recipient_restrictions配置错误导致smtpd问题
- Postfix 日志 connect from unknown错误
- sendmail发信
- 禅道发信失败:SMTP错误:无法连接到SMTP主机
- backgrnd.c
- backward.c
- HG Plugins 1.0 For JQuery
- 输入输出流
- postfix限制特定用户收发邮件的高级访问控制方法
- postfix 发信错误
- 马云现象及其感想——读《谁认识马云》之感
- 利用 Postfix 抵擋垃圾信
- ACE-网络与系统编程的实用设计模式。
- 微软Visual Studio 2008预计11月底推出
- 当当工作1年半的体验(原创)
- Eclipse 插件Eclipse SQL Explorer 3 发布
- 琢磨不透的java解压缩文件报错
- 对pe加载流程的理解