我正在尝试使用ASP classic发送电子邮件,但我遇到了SMTP配置问题。
错误:
CDO.Message.1错误'80040220'“SendUsing”配置值为 无效。
代码(针对电子邮件本身):
Set objMsg = Server.CreateObject("CDO.Message")
objMsg.From = "name@name.com"
objMsg.To = "themetatron@gmail.com"
objMsg.Subject = "Procurement Ally Update"
objMsg.TextBody = strBody
我尝试使用(第1页)配置的代码:
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(sch & "smtpserver") = "127.0.0.1"
.update
End With
这没用,所以我试过了:
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMsg.Configuration.Fields.Update
这也行不通。
(是的,我没有表现出来,但最后却打电话给objMsg.Send
)
据我所知,本地邮箱SMTP服务正在运行并准备好履行职责。
有人可以帮忙吗?
答案 0 :(得分:19)
如果您要指定smptserver,请务必将“sendusing”字段设置为2(或cdoSendUsingPort):
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMsg.Configuration.Fields.Update
答案 1 :(得分:1)
由于SMTP服务位于本地主机上,因此使用SendUsingPickup(1)发送到拾取目录更有意义。这将比通过网络发送到端口25更有效。
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\Inetpub\mailroot\Pickup"
objMsg.Configuration.Fields.Update