Конфигурация SMTP Значение конфигурации SendUsing недопустимо с ASP-Classic

Я пытаюсь получить электронное письмо, отправленное с помощью классического ASP, и у меня возникли проблемы с настройкой SMTP.

Ошибка:

Ошибка CDO.Message.1 '80040220' Недопустимое значение конфигурации «SendUsing».

Код (для самого письма):

Set objMsg = Server.CreateObject("CDO.Message")  
objMsg.From     = "[email protected]"  
objMsg.To       = "[email protected]"  
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)

Решение

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

Поскольку служба 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