解决方案 »

  1.   

    调试进去看看,运行了多少次send?。估计是你收件人有重复或者你循环用户代码中有问题
      

  2.   


    收件人地址应该不可能重复的 绝对是加了去重条件的 循环的话也只是遍历查出来的结果集 而且这个问题 还不是每次都发生  是偶尔发生.... 100个人里有那么一个或两个收到两份....
                            foreach (DataRow rs in drc)    //drc是结果集
                            {
                                try
                                {
                                    MailMessage msg = new MailMessage();
                                    msg.To.Add(rs["emailaddress"].ToString().Trim());
                                    msg.From = new MailAddress(WebConfigurationManager.AppSettings["SURVEY_FROM_MAIL_ADDR"], WebConfigurationManager.AppSettings["SURVEY_FROM_DISPLAY_NAME"]);
                                    msg.Subject = subject;
                                    msg.Body = content;
                                    msg.IsBodyHtml = true;                                client.Send(msg);
      

  3.   


    收件人地址应该不可能重复的 绝对是加了去重条件的 循环的话也只是遍历查出来的结果集 而且这个问题 还不是每次都发生  是偶尔发生.... 100个人里有那么一个或两个收到两份....
                            foreach (DataRow rs in drc)    //drc是结果集
                            {
                                try
                                {
                                    MailMessage msg = new MailMessage();
                                    msg.To.Add(rs["emailaddress"].ToString().Trim());
                                    msg.From = new MailAddress(WebConfigurationManager.AppSettings["SURVEY_FROM_MAIL_ADDR"], WebConfigurationManager.AppSettings["SURVEY_FROM_DISPLAY_NAME"]);
                                    msg.Subject = subject;
                                    msg.Body = content;
                                    msg.IsBodyHtml = true;                                client.Send(msg);
    这代码看不出又什么问题,还有个办法就是为你的数据集设置一个flag,判断下发送过的就不再发送了
      

  4.   


    收件人地址应该不可能重复的 绝对是加了去重条件的 循环的话也只是遍历查出来的结果集 而且这个问题 还不是每次都发生  是偶尔发生.... 100个人里有那么一个或两个收到两份....
                            foreach (DataRow rs in drc)    //drc是结果集
                            {
                                try
                                {
                                    MailMessage msg = new MailMessage();
                                    msg.To.Add(rs["emailaddress"].ToString().Trim());
                                    msg.From = new MailAddress(WebConfigurationManager.AppSettings["SURVEY_FROM_MAIL_ADDR"], WebConfigurationManager.AppSettings["SURVEY_FROM_DISPLAY_NAME"]);
                                    msg.Subject = subject;
                                    msg.Body = content;
                                    msg.IsBodyHtml = true;                                client.Send(msg);
    这代码看不出又什么问题,还有个办法就是为你的数据集设置一个flag,判断下发送过的就不再发送了我先试一下~ 看看能不能测试- - 估计测不了大量发送....
    主要就怕不是数据集的问题,我怀疑是用户的OutLook设置问题 或者是邮件服务器的问题....