Почему почтовый код не работает

Set objCDOSYSMail = Server.CreateObject("CDO.Message") 
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

Set Flds = objCDOSYSCon.Fields
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "any mail"
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "any password"
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "any server"
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")  = 25
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1

Flds.update

Set objCDOSYSMail.Configuration = objCDOSYSCon 

objCDOSYSMail.From = "any mail"
objCDOSYSMail.To = "any mailid"
'' // objCDOSYSMail.CC = "any mailid"
objCDOSYSMail.Bcc = "any mailid"    
objCDOSYSMail.Subject = "feed back"                     
objCDOSYSMail.HTMLBody = strBody

objCDOSYSMail.Send

Set objCDOSYSMail = Nothing

'' // Response.redirect("thank.html")
response.Write("saved")

3 ответа

+ Изменить

Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1

в

Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

1 - отправка через каталог раскладки 2 - отправка через SMTP

Глядя на ваши другие параметры, вы явно пытаетесь отправить через порт 25.

Попробуй это

    Dim objCDOSYSMail
    Dim objCDOSYSCon
    Дим Флдс

    Установите objCDOSYSMail = Server.CreateObject("CDO.Message") 
    Установите objCDOSYSCon = Server.CreateObject ("CDO.Configuration") 
    Установите Flds = objCDOSYSCon.Fields

    С полями.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "любой сервер"
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "любая почта"
.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "любой пароль"
.Обновить

    Конец с

    Установите objCDOSYSMail.Configuration = objCDOSYSCon 

    Отправка электронной почты
    С помощью objCDOSYSMail
    .From = "любая почта"
        .To = "любой mailid"
        .Subject = "Обратная связь"                                             
        .HTMLBody = "мое сообщение".Послать

    Конец с

    Утилизация объектов

    Установить objCDOSYSMail = Ничего
    Установить objCDOSYSCon = Ничего
    Установить поля = ничего

Если вы не получили никакой ошибки, проверьте журнал ошибок на сервере. Убедитесь, что сервер может пересылать электронную почту на почтовый сервер (smtpserver). Это можно сделать, выполнив быстрый сеанс TELNET с веб-сервера на сервер электронной почты. Некоторые SMTP-серверы также выполняют обратный DNS в домене отправителей. Это может звучать глупо, но также проверьте имя пользователя и пароль.

ПРИМЕЧАНИЕ. Ваш вопрос был отклонен, поскольку вы не указали четко свое намерение. В следующий раз будьте "УКАЗАННЫ", а не "УНИКАЛЬНЫ" (как большое море). Большинство людей, которые тусуются здесь, являются либо профессионалами, либо пытаются ими быть, так что, по крайней мере, старайтесь быть такими.

Вы можете использовать библиотеку с открытым исходным кодом для этого. Он обнаруживает компонент, и вам не нужно беспокоиться об этом.

Забудьте о проблеме выбора правильного компонента электронной почты (установка и настройка). Ajaxed делает это для вас. Он проверяет, какие компоненты установлены на сервере, и использует "лучший". Пожалуйста, обратитесь к API, чтобы увидеть, какие компоненты в настоящее время поддерживаются. Поскольку эта страница была написана, поддерживались Jmail, ASPEmail и CDOSYS.

Вот учебник о том, как отправить электронное письмо.

Другие вопросы по тегам