Конфигурация SMTP Значение конфигурации SendUsing недопустимо с ASP-Classic - PullRequest
6 голосов
/ 24 февраля 2009

Я пытаюсь получить электронное письмо, отправленное с использованием 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 локальных ящиков работает и готова выполнять свои обязанности.

Может кто-нибудь помочь?

1 Ответ

19 голосов
/ 24 февраля 2009

Если вы указываете 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 
...