以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发送邮件内容循环  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189835)

--  作者:xunxun0903
--  发布时间:2023/12/29 9:45:00
--  发送邮件内容循环
Dim m As New MailSender
Dim ln As String = vbcrlf & vbcrlf \'定义两个换行
m.Host = "smtp.exmail.qq.com"
m.EnableSsl = True \'
m.Account = "test@test.com"
m.Password = "test"
m.From = "test@test.com"
Dim drs As List(Of DataRow)
drs = DataTables("记录").Select("[类型]= \'纠正\'")
For Each dr As DataRow In drs
    m.To = "user1@test.com"
    m.Title = "行动项到期"
    m.Content = dr("责任人") & ": 您的行动项 [" & dr("措施") & " ]," & ln & "计划在" & dr("计划完成时间") & "前完成"
    output.Show(dr("责任人") & ": 您的行动项 [" & dr("措施") & " ]," & ln & "计划在" & dr("计划完成时间") & "前完成")
    m.SendAsync()
Next

符合条件有4条,我会收到4封一模一样的邮件,content内容都是一样的。但是output.show显示出来的是正确的,都能正确显示dr的每个字段内容。
这是什么情况?

--  作者:chen37280600
--  发布时间:2023/12/29 9:47:00
--  
 m.SendAsync()放在了循环了,就发送了4次咯,应该移出去循环外
--  作者:xunxun0903
--  发布时间:2023/12/29 9:52:00
--  
杰哥V5
--  作者:有点蓝
--  发布时间:2023/12/29 9:53:00
--  
Dim ln As String = vbcrlf & vbcrlf \'定义两个换行
Dim drs As List(Of DataRow)
drs = DataTables("记录").Select("[类型]= \'纠正\'")
For Each dr As DataRow In drs
    Dim m As New MailSender
m.Host = "smtp.exmail.qq.com"
m.EnableSsl = True \'
m.Account = "test@test.com"
m.Password = "test"
m.From = "test@test.com"
    m.To = "user1@test.com"
    m.Title = "行动项到期"
    m.Content = dr("责任人") & ": 您的行动项 [" & dr("措施") & " ]," & ln & "计划在" & dr("计划完成时间") & "前完成"
    output.Show(dr("责任人") & ": 您的行动项 [" & dr("措施") & " ]," & ln & "计划在" & dr("计划完成时间") & "前完成")
    m.SendAsync()
Next

--  作者:xunxun0903
--  发布时间:2023/12/29 10:00:00
--  

帮助文件  MailSender 示例五 是不是错了?


--  作者:有点蓝
--  发布时间:2023/12/29 10:02:00
--