1)打开source/do_sendmail.php
找到
ssetcookie('sendmail', '1', $_SGLOBAL['timestamp']+300);//间隔5分钟
修改为
ssetcookie('sendmail', '1', 300);//间隔5分钟
2)打开source/function_sendmail.php
找到
fputs($fp, ($mail['auth'] ? 'EHLO' : 'HELO')." UCenter Home\r\n");
修改为
fputs($fp, ($mail['auth'] ? 'EHLO' : 'HELO')." uchome\r\n");
找到
fputs($fp, "Date: ".sgmdate('r')."\r\n");
修改为
fputs($fp, "Date: ".gmdate('r')."\r\n");
3)请参考https://discuz.dismall.com/viewthread.php?tid=1045451设置邮件
4)登陆数据库,检查mailcron和mailqueue数据表,看看字段email字段是否存在一些错误的邮件地址,如果存在就删除这些错误的邮件地址。经检查发现部分用户安装了某些插件往这2个表里面塞入了非法格式的邮件地址也可能导致无法发送邮件。
5)经检查,部分不能发送的用户是修改了模版,footer模版中去掉了以下代码导致,如果你修改了模版也可自查
查找footer.htm查看是否有下列代码 没有的话加入
<!--{if !isset($_SCOOKIE['sendmail'])}-->
<script language="javascript" type="text/javascript" src="do.php?ac=sendmail&rand=$_SGLOBAL[timestamp]"></script>
<!--{/if}-->
这样应该发送就没有问题了,只要有人访问站点页面,邮件5分钟发送一次。 |