2016-04-06 8 views
0

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

error '8004020f' 
sendmail.asp, line 46 

Линия 46 является myMail.Send

Я пробовал с аутентификацией (в настоящее время закомментирована), пробовал без, и все еще получаю ту же ошибку. Пробовал различные предложения, которые я нашел здесь, но пока ничего не работало.

Я предполагаю, что это проблема аутентификации, но она не удалась, даже когда я использовал аутентификацию.

Адрес «от» действителен в режиме реального времени на почтовом сервере. И использовались настройки пользователя/пароля для адреса «от».

Любые указатели, чтобы точно определить это?

Set myMail=CreateObject("CDO.Message") 
myMail.Subject="subject_goes_here" 
myMail.From="from_email_address" 
myMail.To="to_email_address" 
myMail.TextBody="body goes here" 

myMail.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 
myMail.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="mail_server_address" 
myMail.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
'myMail.Configuration.Fields.Item _ 
'("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username" 
'myMail.Configuration.Fields.Item _ 
'("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 


myMail.Configuration.Fields.Update 
myMail.Send 
set myMail=nothing 

Веб-сервер - IIS6 на Windows Server 2003 R2. Почтовый сервер - это Exchange.

update - теперь я пытаюсь использовать gmail для отправки электронной почты и получения другой ошибки.

CDO.Message.1 error '80040213' 
The transport failed to connect to the server. 
sendemail.asp, line 48 

и код, я использую это

myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.gmail.com" 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=465 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 20 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "gmailusername" 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 
+1

Если вы используете аутентификацию, вам нужна другая строка конфигурации, чтобы указать это - например, 'myMail.Configuration.Fields.Item (« http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ») = 1' если вы используете базовую аутентификацию. Эта ссылка может быть полезна http://www.powerasp.net/content/new/sending_email_cdosys.asp – John

+0

Я пробовал это и, к сожалению, по-прежнему производит такую ​​же ошибку. У меня также есть учетная запись gmail, которую я пытался использовать для SMTP, и я не могу заставить это работать. – chenks

+0

Я обновил исходный вопрос, чтобы включить мою попытку Gmail, - которая также терпит неудачу. – chenks

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^