Код ошибки транспорта: 0x80040217 — невозможно отправить с помощью asp.classic и CDO.

Судя по многочисленным сообщениям в Интернете, сообщение об ошибке

Сообщение не может быть отправлено на smtp-сервер. Код ошибки транспорта: 0x80040217. Ответ сервера недоступен

В основном означает, что это не аутентифицировать из-за неправильного имени пользователя/пароля

У меня проблема в том, что я запускаю почтовый сервер. Я отлично отправляю электронные письма на свои веб-сайты .net, эта проблема существует только при использовании CDO.

Электронная почта, имя пользователя и пароль верны, они хранятся в виде обычного текста в файле .asp.

Set MyMail = Server.CreateObject("CDO.Message")
Set MyConfig = Server.CreateObject ("CDO.Configuration")

'MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
'MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "passwordIsHere"
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1" 'also tried with localhost, the actual IP of server and mail.example.co.uk (which is set up correctly)
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587 ' also tried 25
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
MyConfig.Fields.Update

Есть идеи, почему на моем сервере W2012 я могу запустить свой веб-сайт asp.classic, но не могу отправить электронное письмо?

Учетная запись электронной почты отлично работает, когда я отправляю почту из внешнего вида MS. Ошибка только здесь, в сценарии.


person MyDaftQuestions    schedule 21.10.2015    source источник
comment
Это не означает, что имя пользователя/пароль неверны (это всего лишь возможный симптом). Это означает, что Почтовый сервер не отправил ответ, что может быть по ряду причин. Что нужно проверить, имя пользователя и пароль, ограничения на использование учетной записи, статус учетной записи (заблокирована) и т. д.   -  person user692942    schedule 21.10.2015
comment
Ну, имя пользователя совпадает с адресом электронной почты. Пароль для тестирования состоит всего из 4 цифр и очень очевиден, поэтому я уверен, что могу опечататься.   -  person MyDaftQuestions    schedule 21.10.2015
comment
Хотя вы понимаете, что в этом примере sendusername и sendpassword закомментированы??   -  person user692942    schedule 21.10.2015
comment
... Я ненавижу все   -  person MyDaftQuestions    schedule 21.10.2015
comment
Пожалуйста, ответьте! И я приму этот глупый вопрос навсегда. Это была проблема комментариев @Lankymart   -  person MyDaftQuestions    schedule 21.10.2015


Ответы (1)


Итак, после странного преобразования в комментариях

Проблема, вероятно, связана с тем, что (с правильной подсветкой синтаксиса) свойства sendusername и sendpassword CDO.Configuration закомментированы, поэтому, вероятно, почтовый сервер не проходит аутентификацию.

Просто удалите комментарии, и все будет хорошо.

Set MyMail = Server.CreateObject("CDO.Message")
Set MyConfig = Server.CreateObject ("CDO.Configuration")

MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "passwordIsHere"
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1" 'also tried with localhost, the actual IP of server and mail.example.co.uk (which is set up correctly)
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587 ' also tried 25
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
MyConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
MyConfig.Fields.Update
person user692942    schedule 21.10.2015
comment
Да, я читал код в блокноте, через RDP-сессию с разрешением экрана 800*600. Таким образом, код был повсюду, я просто пропустил это и потратил много времени на это. Спасибо - person MyDaftQuestions; 22.10.2015
comment
@MyDaftQuestions Это объясняет. - person user692942; 22.10.2015