Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[BUG] 邮件重复发送的原因

 关闭 [复制链接]
jerry.jian 发表于 2009-2-24 10:49:03 | 显示全部楼层 |阅读模式
本帖最后由 jerry.jian 于 2009-2-24 10:51 编辑

最近使用UCHome 1.5 发现一个奇怪的现象,就是系统给用户发的邮件(验证邮箱、邀请、找密码等等),都是同一封邮件给同一个用户重复发送好几份。今天跟踪调试了一下,发现了问题的原因:

/source/do_sendmail.php 中

//删除邮件
$_SGLOBAL['db']->query("DELETE FROM ".tname('mailcron')." WHERE cid IN (".simplode($cids).")");
$_SGLOBAL['db']->query("DELETE FROM ".tname('mailqueue')." WHERE cid IN (".simplode($cids).")");


这两行代码执行有不成功!导致同一封邮件被反复发送!!!

官方或者达人来解释一下!!这个位置该怎么修改呀!!

附: simplode($cids) 这个参数是可以正确的到的,sql语句运行过也是正常的,问题就是sql语句
好像没有被 $_SGLOBAL['db'] 执行一样!
 楼主| jerry.jian 发表于 2009-2-24 11:04:19 | 显示全部楼层
自己顶!!!
回复

使用道具 举报

 楼主| jerry.jian 发表于 2009-2-24 11:21:30 | 显示全部楼层
我再顶!!!
回复

使用道具 举报

 楼主| jerry.jian 发表于 2009-2-24 13:07:03 | 显示全部楼层
我搞定了!

把文件 /source/do_sendmail.php 中最后几行:
  1. //更新用户最后发送时间
  2. if($touids) {
  3.         $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET lastsend='$_SGLOBAL[timestamp]' WHERE uid IN (".simplode($touids).")");
  4. }

  5. //删除邮件
  6. $_SGLOBAL['db']->query("DELETE FROM ".tname('mailcron')." WHERE cid IN (".simplode($cids).")");
  7. $_SGLOBAL['db']->query("DELETE FROM ".tname('mailqueue')." WHERE cid IN (".simplode($cids).")");
复制代码
调整到 :
  1. //开始发送
  2. include_once(S_ROOT.'./source/function_sendmail.php');
复制代码
这行前面!!

至于原因我只能说个大概,应该是系统发送邮件的时候对数据库的更新操作有干扰!
回复

使用道具 举报

sjwrsw 发表于 2009-4-16 10:44:40 | 显示全部楼层
我也发现了这个问题,用户激活邮箱后,会经常给用户重复发送激活邮件,有时候上百封。
回复

使用道具 举报

sjwrsw 发表于 2009-4-16 11:03:27 | 显示全部楼层
我搞定了!

把文件 /source/do_sendmail.php 中最后几行://更新用户最后发送时间
if($touids) {
        $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET lastsend='$_SGLOBAL[timestamp]' WHERE uid IN (".s ...
jerry.jian 发表于 2009-2-24 13:07


你这一调整,明显不对啊,怎么可以把更新最后发送邮件时间提到发送邮件前面去呢?
回复

使用道具 举报

lainade 发表于 2009-4-17 17:03:14 | 显示全部楼层
期待解决方案





www.japansns.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-28 18:23 , Processed in 0.134021 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表