SMTP configuration SendUsing configuration value i

2019-01-26 13:28发布

问题:

I'm trying to get an email sent using ASP classic, and am having trouble with SMTP configuration.

The error:

CDO.Message.1 error '80040220' The "SendUsing" configuration value is invalid.

The Code(for the email itself):

Set objMsg = Server.CreateObject("CDO.Message")  
objMsg.From     = "name@name.com"  
objMsg.To       = "themetatron@gmail.com"  
objMsg.Subject  = "Procurement Ally Update"  
objMsg.TextBody = strBody 

The Code I tried to configure with (pt 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   

That didn't work, so I tried:

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 

That also didn't work.

(Yes, I didn't show it, but at the end there's a call to objMsg.Send)

As far as I can tell, the local boxes SMTP service is running and ready to do its duty.

Can anyone help?

回答1:

If you are specifying an smptserver, be sure to set your 'sendusing' field to 2 (or cdoSendUsingPort) as well:

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