记录一下这两天对于wecenter邮件发送失败(wecenter是成功调用了它的邮件发送程序(仅仅基于调用层面的函数),/var/log/mailog有记录,就是发送失败,收不到。)思路有点乱,正好给自己记录一下。
1、关闭sendmail时WDCPsendmail发送邮件是不成功的,一旦开启了sendmail service时,之前等待发送的邮件又会重新发送。证明了,WDCP也是依靠sendmail,所以WDCP能够使用sendmail发送成功,而不是使用WDCP另一个选项SMTP(代理邮件服务来发送的)。
2、可见WDCP能够成功使用sendmail,sendmail这个服务本身是没有问题的。而wecenter所在的用户为www,在使用sendmail发送,www中maillog是显示 dsn:5.0.0 stat= 而wdcpu中是显示dsn:2.0.0
3、
这里有三个概念:
邮件用户代理(MUA,Mail User Agent)
邮件传送代理(MTA,Mail Transport Agent)
邮件分发代理(MDA,Mail Deliver Agent)
通俗的说MUA就是用户使用的客户端,而MTA则是真正发送邮件的发送进程,MUA编写的邮件最终也交由MTA发送至目标端。
mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版。
sendmail即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。
php里的sendmail设置是一个虚的东西,并不是和centos里的sendmail service相等,php中的sd是可以配置成为任何邮件服务,输入其他邮件服务的执行路径就ok
所以,wdcp可能直接使用php函数执行了centos的sendmail service才成功的。而wecenter就是先通过php函数调用了php中的sendmail模块----再去调用真正的sendmail service 很有可能这个过程出错了。 www中maillog是显示dsn:5.0.0 stat=Service unavailable 而wdcpu中是显示dsn:2.0.0 stat=Sent (Ok: queued as )不止这一种成功的提示
阅读全文
收起全文