以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助:提示发送邮件失败 无法从传输连接中读取数据: net_io_connectionclosed。如何解决呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131450) |
-- 作者:李孝春 -- 发布时间:2019/2/26 16:16:00 -- 求助:提示发送邮件失败 无法从传输连接中读取数据: net_io_connectionclosed。如何解决呢? .NET Framework 版本:2.0.50727.8784 Foxtable 版本:2018.10.9.1 错误所在事件:自定义函数SendEmail 详细错误信息: 调用的目标发生了异常。 发送邮件失败。 无法从传输连接中读取数据: net_io_connectionclosed。 自定义函数代码如下: Dim ab As Row = Args(0) Dim rw As Row = Args(1) Dim dr As DataRow = Args(2) Dim client As New System.Net.Mail.SmtpClient(ab("单位QQ邮件网关"), ab("单位QQ邮件端口")) \'或者465 \'MessageBox.Show(ab("单位QQ邮件网关")) client.EnableSsl = True \'SSL client.Credentials=New System.Net.NetworkCredential(ab("单位QQ邮件"), ab("单位QQ邮件发送授权码")) client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network Dim message As New System.Net.Mail.MailMessage() message.From=new System.Net.Mail.MailAddress(ab("单位QQ邮件"), ab("单位QQ邮件别名")) message.To.Add(new System.Net.Mail.MailAddress(rw("电子邮件"), rw("姓名"))) message.To.Add(rw("电子邮件")) \'MessageBox.Show(rw("电子邮件")) message.Subject = "瓮安检察" & dr("流程名称") & "通知" message.BodyEncoding = System.Text.Encoding.UTF8 Dim content As String content &= "【"& rw("姓名") & "】" & "您好!" & vbcrlf content &= vbcrlf content &= dr("嫌疑人姓名") & "涉嫌" & dr("涉嫌案由") & "一案,经我院" & dr("流程时间") & "审查,现在已经进入【" & dr("流程名称") & "】" & vbcrlf content &= vbcrlf content &= dr("注意事项") \'MessageBox.Show(dr("注意事项")) content &= vbcrlf content &= "参考法律法规" & dr("法律法规") message.Body = content client.Send(message) 发送邮件代码 If rw("电子邮件") <> Nothing Then Dim ab As Row = Tables("系统信息").Current Dim drs = DataTables("告知内容").Select("姓名 = \'" & rw("姓名") & "\'And 是否告知 = \'是\' " ) For Each dr As DataRow In drs Functions.AsyncExecute("SendEmail",ab,rw,dr) \' dr("是否告知")="是" Next End If [此贴子已经被作者于2019/2/26 16:18:06编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/2/26 16:59:00 -- 代码不能这样写,你应该被整一段代码写成函数,然后异步执行这个函数。
也就是:发送邮件代码,写成异步函数;调用发送邮件那里,不能用异步。
If rw("电子邮件") <> Nothing Then |
-- 作者:李孝春 -- 发布时间:2019/2/26 17:10:00 -- 回复:(有点甜)代码不能这样写,你应该被整一段代码... 有点甜老师 更正之后 错误还是一楼图示的错误一样! |
-- 作者:有点甜 -- 发布时间:2019/2/26 17:30:00 -- 以下是引用李孝春在2019/2/26 17:10:00的发言:
有点甜老师 更正之后 错误还是一楼图示的错误一样!
更换你的邮箱的账号密码等信息后测试。
尝试先发一条信息
For Each dr As DataRow In drs exit for |
-- 作者:李孝春 -- 发布时间:2019/2/26 17:49:00 -- 回复:(有点甜)代码不能这样写,你应该被整一段代码... 经测试可以发的 系统也是时好时坏 而且这个问题有点怪 估计是QQ邮件的限制,有没有办法直接取消错误弹出提示,变更为自定义的错误 比如:温馨提示,根据QQ邮件规则,当前已达上限,请稍后再操作邮件!
|
-- 作者:有点甜 -- 发布时间:2019/2/26 17:55:00 -- 加上 try catch 即可
http://www.foxtable.com/webhelp/scr/2070.htm
或者看看
http://www.foxtable.com/webhelp/scr/2655.htm
|
-- 作者:李孝春 -- 发布时间:2019/2/26 18:01:00 -- 回复:(有点甜)加上 try catch 即可?http:... Dim client As New System.Net.Mail.SmtpClient(ab("单位QQ邮件网关"), ab("单位QQ邮件端口")) \'或者465 \'MessageBox.Show(ab("单位QQ邮件网关")) client.EnableSsl = True \'SSL client.Credentials=New System.Net.NetworkCredential(ab("单位QQ邮件"), ab("单位QQ邮件发送授权码")) client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network Dim message As New System.Net.Mail.MailMessage() message.From=new System.Net.Mail.MailAddress(ab("单位QQ邮件"), ab("单位QQ邮件别名")) message.To.Add(new System.Net.Mail.MailAddress(rw("电子邮件"), rw("姓名"))) message.To.Add(rw("电子邮件")) \'MessageBox.Show(rw("电子邮件")) message.Subject = "瓮安检察" & dr("流程名称") & "通知" message.BodyEncoding = System.Text.Encoding.UTF8 Dim content As String content &= "【"& rw("姓名") & "】" & "您好!" & vbcrlf content &= vbcrlf content &= dr("嫌疑人姓名") & "涉嫌" & dr("涉嫌案由") & "一案,经我院" & dr("流程时间") & "审查,现在已经进入【" & dr("流程名称") & "】" & vbcrlf content &= vbcrlf content &= dr("注意事项") \'MessageBox.Show(dr("注意事项")) content &= vbcrlf content &= "参考法律法规" & dr("法律法规") message.Body = content Try client.Send(message) Catch ex As Exception MessageBox.Show(“邮件超限”) End Try 这样么?确实弹出了邮件超限,但是有没有办法只让它出现一次 不根据当前数据行次数来多次提醒呢? [此贴子已经被作者于2019/2/26 18:04:08编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/2/26 18:11:00 -- Try
client.Send(message) return "正常"
Catch ex As Exception MessageBox.Show(“邮件超限”) return "出错"
End Try
调用的时候,获取信息
For Each dr As DataRow In drs If jg = "出错" Then exit for End If |
-- 作者:李孝春 -- 发布时间:2019/2/26 18:25:00 -- 回复:(有点甜)Try client.Send(messag... OK 谢谢有点甜老师 我稍后试一试看看是否可以操作成功 在禁止发送时间过了之后再试 |
-- 作者:李孝春 -- 发布时间:2019/2/27 16:45:00 -- 回复:(有点甜)Try client.Send(messag... 有点甜老师 怎么判断邮件发送失败呢? 当发送成功时,写入邮件告知等于是 反之就为否 当前不知道怎么判断邮件是发送成功还是失败!
|