Классический ASP отправка электронной почты с аутентификацией SMTP - PullRequest
7 голосов
/ 17 февраля 2010

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

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

Немного погуглив, мы можем поверить, что он использует ASPMail 4 и, согласно документам, не выполняет аутентификацию.

http://www.serverobjects.com/comp/Aspmail4.htm

Мы только что прогуглили "SMTPsvg.Mailer" из этого вызова:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

Правильно ли я полагаю, что выше указано ASPMail 4, а APSMAil не выполняет аутентификацию?

Что можно использовать для аутентификации на SMTP-сервере, если мне нужно заменить Aspmail?

Ответы [ 4 ]

18 голосов
/ 17 февраля 2010

Как сказано, используйте CDO.

set config = CreateObject("CDO.Configuration")
sch = "http://schemas.microsoft.com/cdo/configuration/"
with config.Fields
 .item(sch & "sendusing") = 2 ' cdoSendUsingPort
 .item(sch & "smtpserver") = application("smtpserver")
 .item(sch & "smtpserverport") = application("smtpserverport")
 .item(sch & "smtpauthenticate") = 1 'basic auth
 .item(sch & "sendusername") = application("sendusername")
 .item(sch & "sendpassword") = application("sendpassword")
 .update
end with

with CreateObject("CDO.Message")
  .configuration = config
  .to = ...
  .from = ...
  .subject = ....
  .HTMLBody = ....
  call .send()
end with

Документы о каждом поле объекта конфигурации можно найти здесь !

2 голосов
/ 17 февраля 2010

Да, правда. Почему бы вам не перейти на CDO? Эта статья может помочь.

Как отправить электронное письмо с CDO?

1 голос
/ 17 февраля 2010

Проверьте, поддерживает ли хостинг-провайдер .Net Framework 2.0 (большинство так), если это так, переименуйте файл .asp в .aspx, удалите код, отправляющий электронное письмо, и напишите некоторый простой код:

http://www.systemwebmail.com/faq/3.8.aspx

Привет

Thomas

0 голосов
/ 17 февраля 2010

Согласно документации здесь ASPMail 4.x просто не поддерживает аутентификацию. Похоже, вам придется переключиться на другой компонент SMTP на основе COM.

...