cdoSendUsingPort дает 8004020f, но cdoSendUsingPickup работает - PullRequest
2 голосов
/ 21 октября 2010

Я использую cdo для отправки электронной почты, следующий код не удается

Set cdoConfig = CreateObject("CDO.Configuration")

With cdoConfig.Fields
    .Item(cdoSendUsingMethod) = cdoSendUsingPort
    .Item(cdoSMTPServer) = "localhost"
    .Update
End With 

Когда я отправляю письмо, я получаю следующую ошибку

8004020f

Затем я изменил код на следующий:

Set cdoConfig = CreateObject("CDO.Configuration")

With cdoConfig.Fields
    .Item(cdoSendUsingMethod) = cdoSendUsingPickup
    .Item(cdoSMTPServer) = "localhost"
    .Update
End With 

Письмо отправляется без проблем. Какие шаги я могу предпринять для устранения неполадок, почему cdoSendUsingPort не работает?

Ответы [ 2 ]

2 голосов
/ 21 октября 2010

С помощью cdoSendUsingPort CDO пытается открыть соединение с SMTP сервером, который вы указываете (в вашем случае, localhost) на TCP-порт 25. Я полагаю, вы не используете SMTP сервер на вашем компьютере, поэтому на порту 25 ничего не прослушивается, и вызов не выполняется.

При cdoSendUsingPickup CDO пересылает сообщение в каталог раскладки вашего локального экземпляра IIS для последующего использования.обработка.Я полагаю, что на вашем компьютере установлен IIS, а его SMTP-модуль настроен на использование перехвата, поэтому вызов успешен.

1 голос
/ 21 октября 2010

Professor Google находит (по порядку):
- Несколько параметров : сервер запрещает анонимную ретрансляцию, сервер отклоняет определенные домены получателей, получатель отклоняется SMTP-сервером неожиданным образоми / или настройки прокси-сервера или брандмауэра блокируют почту.
- Ваш почтовый сервер настроен так, чтобы не ретранслировать с вашего исходного компьютера.
- ... и еще несколько вещей, которые сводятся кпервая из перечисленных ссылок.

Некоторые из этих вещей можно проверить напрямую, подключившись по телнету с отправляющего компьютера на почтовый сервер, , выполнив обычное SMTP-взаимодействие и просмотрев, какие сообщения отображаются.

...