Foxtable(狐表)用户栏目专家坐堂 → [求助]调用outlook邮箱的smtp发邮件报错


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

主题:[求助]调用outlook邮箱的smtp发邮件报错

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


加好友 发短信
等级:婴狐 帖子:18 积分:271 威望:0 精华:0 注册:2019/8/7 15:51:00
[求助]调用outlook邮箱的smtp发邮件报错  发帖心情 Post By:2022/9/8 15:37:00 [只看该作者]

使用foxtable调用outlook邮箱的smtp功能来自动发送邮件。
执行的时候会报错,更换其他账号一样。
是不是我调用smtp的命令有缺少什么?
各位大神有遇到过这种问题的吗?


Dim m As New MailSender
m.Host = "smtp-mail.outlook.com"
m.port = 587
m.EnableSsl = True
m.Account = "XXX@.com"
m.Password = "XXXX"
m.From = "XXXX@XXXX.com"
m.To = "XXX@XXX.com"
m.Title = "测试邮件"
m.C
m.send()


图片点击可在新窗口打开查看


[此贴子已经被作者于2022/9/8 15:39:57编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/8 16:01:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:18 积分:271 威望:0 精华:0 注册:2019/8/7 15:51:00
  发帖心情 Post By:2022/9/12 15:57:00 [只看该作者]

以下是引用有点蓝在2022/9/8 16:01:00的发言:
建议还是使用.net的用法吧:https://www.cnblogs.com/xpnew/p/Csharp_SMTP_outlook_bulletin.html

Dim client As New System.Net.Mail.SmtpClient()
Dim message As New System.Net.Mail.MailMessage()
client.Host = "smtp-mail.outlook.com"
client.Port = 587
client.EnableSsl = True
client.Credentials = New System.Net.NetworkCredential("tbfcXXX@toyota.com", "XXXXXX")  '普通邮箱
message.From = new System.Net.Mail.MailAddress("moumou.li@toyota.com","李XX") '发件人
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
message.BodyEncoding = System.Text.Encoding.UTF8
message.Subject =  "测试邮件"
message.IsBodyHtml = True
message.To.Add(new System.Net.Mail.MailAddress("moumou.he@toyota.com","何XX")) '如果有365邮箱的人就发送到365邮箱
message.Body = "测试"
Try
    client.Send(message)
    vars("发送成功") =  1
Catch ex As Exception
    vars("发送成功") =  0
     MessageBox.Show(ex.message ,"提示")
Finally
    message.Dispose()
End Try



大佬,我查看了很多资料,更换了这种方式,可是还是会报错。是因为STARTTLS加密方式的原因吗?


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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/12 16:29:00 [只看该作者]

2楼链接【3.3 关于STARTTLS】不就是说这个的吗?加上targetname呀

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


加好友 发短信
等级:婴狐 帖子:18 积分:271 威望:0 精华:0 注册:2019/8/7 15:51:00
  发帖心情 Post By:2022/9/12 17:07:00 [只看该作者]

以下是引用有点蓝在2022/9/12 16:29:00的发言:
2楼链接【3.3 关于STARTTLS】不就是说这个的吗?加上targetname呀

Dim client As New System.Net.Mail.SmtpClient()
Dim message As New System.Net.Mail.MailMessage()
client.UseDefaultCredentials = False
client.Credentials = New System.Net.NetworkCredential("xxxx@toyota.com", "XXXX")  '普通邮箱
client.Host = "smtp-mail.outlook.com"
client.targetname = "STARTTLS/smtp-mail.outlook.com"
client.Port = 587
client.EnableSsl = True
message.From = new System.Net.Mail.MailAddress("moumou.li@toyota.com","李XX") '发件人
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
message.BodyEncoding = System.Text.Encoding.UTF8
message.Subject =  "测试邮件"
message.IsBodyHtml = True
message.To.Add(new System.Net.Mail.MailAddress("moumou.he@toyota.com","何XX")) '如果有365邮箱的人就发送到365邮箱
message.Body = "测试"
Try
    client.Send(message)
    vars("发送成功") =  1
Catch ex As Exception
    vars("发送成功") =  0
     MessageBox.Show(ex.message ,"提示")
Finally
    message.Dispose()
End Try

不好意思,我贴错代码了。,这个才是最新的。我增加了targetname跟seDefaultCredentials这两个参数,但是还是发送失败。

[此贴子已经被作者于2022/9/12 17:08:58编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/12 17:13:00 [只看该作者]

那我也不知道什么原因了。建议到微软社区咨询一下

 回到顶部