【发布时间】:2015-09-30 09:26:00
【问题描述】:
我尝试使用 TLS 发送电子邮件,端口号为 587,服务器名称为 smtp.gmail.com,但总是收到错误“错误 '8004020e'”。我将 SSL 设置为 false,因为端口 587 身份验证是 TLS。我的代码有问题吗?
Set objMail = Server.CreateObject("CDO.Message")
Set objConfig = CreateObject("CDO.Configuration")
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = false
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xx@gmail.com"
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xx"
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objConfig.Fields.Update
Set objMail.Configuration = objConfig
objMail.From = "xx@gmail.com"
objMail.To = "yy@yahoo.com"
objMail.Subject = "Test EMAIL"
objMail.TextBody = "Test EMAIL"
objMail.HTMLBody = "fffffffffff"
objMail.Send
Set objMail = Nothing
【问题讨论】:
-
objConfig.Fields("http://sc...on/smtpusessl") = True是 TLS 所必需的。 -
感谢分享您的链接,但仍然出错。我将 smtpusessl 更改为 true 并将 smtp 端口更改为 25。在您提供给我的链接中遵循完全相同的操作。 SSL 或 STP 是否需要 smtpusessl?根据我的知识,CDO 不能支持 TLS? vbscript 中的任何解决方案?
-
端口 25 用于 MTA 到 MTA 通信。对于 MUA 到 MTA 的通信(邮件提交),请使用端口 587(提交)或端口 465(smtps)。
标签: vbscript asp-classic email starttls