以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]调用outlook邮箱的smtp发邮件报错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179781) |
-- 作者:azlm100 -- 发布时间:2022/9/8 15:37:00 -- [求助]调用outlook邮箱的smtp发邮件报错 使用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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/9/8 16:01:00 -- 建议还是使用.net的用法吧:https://www.cnblogs.com/xpnew/p/Csharp_SMTP_outlook_bulletin.html |
-- 作者:azlm100 -- 发布时间: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加密方式的原因吗? |
-- 作者:有点蓝 -- 发布时间:2022/9/12 16:29:00 -- 2楼链接【3.3 关于STARTTLS】不就是说这个的吗?加上targetname呀 |
-- 作者:azlm100 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/9/12 17:13:00 -- 那我也不知道什么原因了。建议到微软社区咨询一下 |