有朋友反映接受不到Dev2dev论坛上注册邮件,经过检查果然是。我从discuz7升级到7.2,问题依旧。邮件系统没有问题,因为测试邮件发送正常。我又怀疑是不是发送的内容有问题,现在网络环境这么差,但后来一想也不是,gmail在国外啊,没有GFW。
Discuz论坛上不少人有类似的问题,全是些没用的回复,大多是抄来抄去,连楼主的问题都没有看清。没办法,只好去调试代码了,试着对比测试邮件发送和注册邮件发送的区别,最后发现了一点线索。
如果没有指定发送者而去调用sendmail,就不会发送成功,搞不懂include/sendmail.inc.php的这段代码干了啥:
$email_from = $email_from == ” ? ‘=?’.$charset.’?B?’.base64_encode($bbname)."?= <$adminemail>" : (preg_match(‘/^(.+?) \<(.+?)\>$/’,$email_from, $from) ? ‘=?’.$charset.’?B?’.base64_encode($from[1])."?= <$from[2]>" : $email_from);
我直接到include/global.func.php修改了sendmail函数:
function sendmail($email_to, $email_subject, $email_message, $email_from = ‘myadmin@mydomain.com‘)
直接把管理员邮箱添加上了。总算是好了,我也不多想了,请discuz告诉我是怎么回事吧。
Related posts:
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.