以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]异步发送邮件会漏发邮件么?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100348)

--  作者:新福星
--  发布时间:2017/5/10 7:03:00
--  [求助]异步发送邮件会漏发邮件么?

Dim m As New MailSender
m.Host = "smtp.qiye.163.com"
m.Account = aaaaaa.com"    \'指定登录邮件服务器的帐号
m.Password = "******"  
m.from = "aaaaaa.com"

DataTables("员工资料").LoadFilter=""
DataTables("员工资料").Loadtop=""
DataTables("员工资料").Load

drs= DataTables("员工资料").SQLSelect("状态=\'在职\' And Day(出生日期)= " & Date.Today.Day & " And Month(出生日期) =" & Date.Today.Month)
For Each dr As DataRow In drs
    If xmxx=Nothing Then   xmxx= dr("姓名")  \'代表人物名
    If nms=Nothing Then
        nms= dr("姓名")
    Else
        nms=nms & ";" & dr("姓名")
    End If
Next
If drs.Count<>0 Then  \' 有过生日的员工  xmxx<>Nothing Then
    For Each a As Row In Tables("员工资料").Rows
        If a.Isnull("邮箱")=True Then Continue For
        m.To = a("邮箱")        
        If nms.Contains(a("姓名"))=True Then \'本人
            m.Title = a("姓名") &  "公司给您的生日祝福"
            m.C
        Else
            m.Title = "今天" & xmxx & ".....等人过生日!"            
            m.C
        End If
        m.SendAsync()
    Next
End If
r("日期")=Date.Today
r.save
End If


用上述程序定时发送邮件。发现经常漏收邮件。如何检验异步发送是否全部发出呢?谢谢


--  作者:有点色
--  发布时间:2017/5/10 9:23:00
--  

 参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=70729&skin=0

 


--  作者:新福星
--  发布时间:2017/5/10 11:46:00
--  
谢谢!看到大红袍的答案,他给出了异步发邮件的另一种方法。是不是我用的方法这么发送就会漏发邮件?用大红袍的方法就不会漏发邮件?
--  作者:有点色
--  发布时间:2017/5/10 11:49:00
--  
以下是引用新福星在2017/5/10 11:46:00的发言:
谢谢!看到大红袍的答案,他给出了异步发邮件的另一种方法。是不是我用的方法这么发送就会漏发邮件?用大红袍的方法就不会漏发邮件?

 

1、异步发送有多种原因发送失败。比如:右键服务器那里,会有检测你发送频率从而限制你发送。也有可能是你输入的信息不对发送失败。

 

2、2楼的意思是,那样发送,可以处理发送后结果,对于发送失败的情况,可以填入表或文件记录起来,就可以知道是什么问题导致的发送失败。