SMTP配置SendUsing配置值对于ASP-Classic无效

时间:2009-02-24 17:44:29

标签: asp-classic email-integration

我正在尝试使用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服务正在运行并准备好履行职责。

有人可以帮忙吗?

2 个答案:

答案 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