Foxtable(狐表)用户栏目专家坐堂 → MailSender发信速度过快,怎么解决


  共有13848人关注过本帖树形打印复制链接

主题:MailSender发信速度过快,怎么解决

帅哥哟,离线,有人找我吗?
lin_hailun
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/12 9:46:00 [显示全部帖子]

简单的话,让程序等待几秒钟再发送,可能是因为要上传附件需要时间。

system.threading.thread.sleep(5000)

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/12 14:25:00 [显示全部帖子]

 你设置计划管理的启动时间就可以了。每次启动的时候发送一封邮件,用全局变量记录发送到了那一行数据就行了

 如果使用 system.threading.thread.sleep(5000),你还需要启动一个线程去做,不然,程序会"假死"

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/14 18:15:00 [显示全部帖子]

以下是引用冰31脚在2013-1-12 16:47:00的发言:

我现在就是在计划里设置的,但一到时间就会把需要发邮件的行全部都发出去,所以导致发信太快,怎么设置一次只发一行,两分钟这样发一次。



你需要设置一个全局变量记录发送都了哪一行,2分钟以后,根据这个全局变量,去查找下一个行需要发送的内容,如此循环反复。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 10:45:00 [显示全部帖子]

 把这两句话去掉

Dim Proc As New Process
Proc.File = fl

 然后,看看文件路径是否正确。
       


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 10:55:00 [显示全部帖子]

 上传一个简单的项目表,我帮你测试一下。

 包括table文件,excel模版文件。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 12:15:00 [显示全部帖子]

 代码如下。大概设置成10秒就行了

Dim idx As Integer = Tables("综管").FindRow("客户沟通_是否收货 = False", 0, False)

If idx > -1 Then
    Dim dr As Row = Tables("综管").Rows(idx)
    Dim Book As New XLS.Book(ProjectPath & "Attachments\确认是否已收到备件--备件明细.xls")
    Dim fl As String = ProjectPath & "Reports\确认是否已收到备件--备件明细" & Format(Date.Now, "yyyyMMddHHmmss") & ".xls"
    Book.Build()
    Book.Save(fl)
   
    Dim m As New MailSender
    Dim ln As String = vbcrlf & vbcrlf '定义两个换行
    m.Host = "smtp.qq.com"
    'm.Account = "1336181618@qq.com"
    ' m.Password = "123456"
    ' m.From = "1336181618@qq.com"
    m.Account = "lin_hailun@qq.com"
    m.Password = "helen6849338."
    m.From = "lin_hailun@qq.com"
    m.To = "spring.me@qq.com"
   
    'm.AddReceiver(dr("备份邮箱"))
   
    m.Title ="中兴(ZTE)备件管理服务---- "  & dr("序号2") & " "  & dr("月份营运报表_日期")& " " & dr("服务执行单据记录表_申请号") & " 【询问是否已收到货】 重要邮件,请勿更改主题直接回复此邮件,感谢您对我们工作的支持."
    m.Content = m.Content & ln & "此邮件目的: 确认是否收到派给您的备件"
    m.Content = m.Content & ln & "      您好,您于 " & dr("月份营运报表_日期")   & " 申请的,申请号为 " & dr ("服务执行单据记录表_申请号") & " 的备件已经于 " & dr("派送时间")& " 通过 " &  dr("派送方式") & "  为您派出,现与您确认是否收到派送备件,请回复邮件或电话告知我们,感谢您对我们工作的支持!"
    m.Content = m.Content & ln & "      查询/联系: " & ("派送方式") & " " & dr("派送记录") & " / 李政桥 18275886166 "
    m.Content = m.Content & ln & "      基本信息: " & vbcrlf & "      申请号: " & dr("服务执行单据记录表_申请号") & vbcrlf & "      申请人: " & dr("服务执行单据记录表_客户申请人及电话") & vbcrlf & "      交接人:" & dr("服务执行单据记录表_客户交接人及电话") & vbcrlf & "      派送地址: " & dr("月份营运报表_派送及取件详细地址") & vbcrlf & "      本次共派送:" & dr("派送件数") & " 件."
    m.Content = m.Content & ln & "      更多信息请下载附件查看,祝工作愉快."
    'm.Content = m.Content & ln & "      " & dr("确认已收货邮件内容")  & vbcrlf &  "      指令单下载: " & dr("指令单")
    m.Content = m.Content & ln & "      若您已收到对应备件,请及时更换并将旧件及时返回库房."  & vbcrlf & "      " & dr("合作快递1_公司") & " : " & dr("合作快递1_联系方式") & vbcrlf & "      " & dr("合作快递2_公司") & " : "  & dr("合作快递2_联系方式")
    m.Content = m.Content & ln & "      如对我们及我们的供应商(如快递公司)的服务有任何不满的地方,请致电告知我们,感谢您对我们工作的支持."      & vbcrlf &  "      服务投诉: 0771-5346427"
    m.Content = m.Content & ln & "                                                                      祝工作愉快!"
    m.Content = m.Content & ln & "                                                                ZTE备件管理广西区配送中心"
    m.AddAttachments(fl)
    m.SendAsync()
    dr("客户沟通_是否收货")=True
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 12:15:00 [显示全部帖子]

调用测试代码

For Each dr As DataRow In DataTables("综管").Rows
    dr("客户沟通_是否收货")=False
Next

msgbox("测试开始")

MyTimers("发送邮件").Enabled = True

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 13:46:00 [显示全部帖子]

以下是引用冰31脚在2013-1-15 13:09:00的发言:

能不能把代码直接写进那个附件上传给我看下


你请修改模板的名字。不能带有特殊的符号 ——,改成 -- 吧。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/16 9:36:00 [显示全部帖子]

以下是引用冰31脚在2013-1-15 22:32:00的发言:

For Each dr As DataRow In DataTables("综管").Select("月份营运报表_日期 <= #" & Date.Today.AddDays(-2) & "# ")

 

今天往前两天的行



这个的话,你设置一下第一行的条件就行了。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/16 9:49:00 [显示全部帖子]

 代码最后变成这样,就不必删除生成的文件了。但是你设置的间隔要长一些,以便于文件上传完毕并关闭。


Dim idx As Integer = Tables("综管").FindRow("客户沟通_是否收货 = False And 月份营运报表_日期 <= #" & Date.Today.AddDays(-2) & "# ", 0, False)

If idx > -1 Then
    Dim dr As Row = Tables("综管").Rows(idx)
    Tables("综管").Position = idx
    Dim Book As New XLS.Book(ProjectPath & "Attachments\确认是否已收到备件--备件明细.xls")
    Dim fl As String = ProjectPath & "Reports\确认是否已收到备件--备件明细.xls"
    Book.Build()
    Book.Save(fl)
  
    Dim m As New MailSender
    Dim ln As String = vbcrlf & vbcrlf '定义两个换行
    m.Host = "smtp.qq.com"
    'm.Account = "1336181618@qq.com"
    ' m.Password = "123456"
    ' m.From = "1336181618@qq.com"
    m.Account = "lin_hailun@qq.com"
    m.Password = "helen6849338."
    m.From = "lin_hailun@qq.com"
    m.To = "spring.me@qq.com"
  
    'm.AddReceiver(dr("备份邮箱"))
  
    m.Title ="中兴(ZTE)备件管理服务---- "  & dr("序号2") & " "  & dr("月份营运报表_日期")& " " & dr("服务执行单据记录表_申请号") & " 【询问是否已收到货】 重要邮件,请勿更改主题直接回复此邮件,感谢您对我们工作的支持."
    m.Content = m.Content & ln & "此邮件目的: 确认是否收到派给您的备件"
    m.Content = m.Content & ln & "      您好,您于 " & dr("月份营运报表_日期")   & " 申请的,申请号为 " & dr ("服务执行单据记录表_申请号") & " 的备件已经于 " & dr("派送时间")& " 通过 " &  dr("派送方式") & "  为您派出,现与您确认是否收到派送备件,请回复邮件或电话告知我们,感谢您对我们工作的支持!"
    m.Content = m.Content & ln & "      查询/联系: " & ("派送方式") & " " & dr("派送记录") & " / 李政桥 18275886166 "
    m.Content = m.Content & ln & "      基本信息: " & vbcrlf & "      申请号: " & dr("服务执行单据记录表_申请号") & vbcrlf & "      申请人: " & dr("服务执行单据记录表_客户申请人及电话") & vbcrlf & "      交接人:" & dr("服务执行单据记录表_客户交接人及电话") & vbcrlf & "      派送地址: " & dr("月份营运报表_派送及取件详细地址") & vbcrlf & "      本次共派送:" & dr("派送件数") & " 件."
    m.Content = m.Content & ln & "      更多信息请下载附件查看,祝工作愉快."
    'm.Content = m.Content & ln & "      " & dr("确认已收货邮件内容")  & vbcrlf &  "      指令单下载: " & dr("指令单")
    m.Content = m.Content & ln & "      若您已收到对应备件,请及时更换并将旧件及时返回库房."  & vbcrlf & "      " & dr("合作快递1_公司") & " : " & dr("合作快递1_联系方式") & vbcrlf & "      " & dr("合作快递2_公司") & " : "  & dr("合作快递2_联系方式")
    m.Content = m.Content & ln & "      如对我们及我们的供应商(如快递公司)的服务有任何不满的地方,请致电告知我们,感谢您对我们工作的支持."      & vbcrlf &  "      服务投诉: 0771-5346427"
    m.Content = m.Content & ln & "                                                                      祝工作愉快!"
    m.Content = m.Content & ln & "                                                                ZTE备件管理广西区配送中心"
    m.AddAttachments(fl)
    m.SendAsync()
    dr("客户沟通_是否收货")=True
End If

 回到顶部
总数 13 1 2 下一页