Пример использования Active Server Component для отсылки почты по протоколу SMTP с использованием перекодирования в КОИ8


Почтовый сервер Может быть введено, как имя сервера, так и его IP адрес
Номер TCP порта Необязательный параметр. По умолчанию равен 25
Отправитель письма Обязательный параметр
Получатель письма Обязательный параметр. При необходимости могут быть перечислены несколько адресов, перечисленных через запятую
Получатель копии письма Необязательный параметр. По умолчанию - пустая строка. При необходимости могут быть перечислены несколько адресов, перечисленных через запятую
Получатель копии под копирку (Bcc) Необязательный параметр. При необходимости могут быть перечислены несколько адресов, перечисленных через запятую. По умолчанию - пустая строка
Кодовая страница Необязательный параметр. При значении koi8-r производится перекодирования письма в КОИ8. По умолчанию - koi8-r
Тема письма Необязательный, но настоятельно рекомендуемый параметр. По умолчанию - пустая строка
Дополнительный заголовок Необязательный параметр. Этот параметр не должен содержать пустых строк и перевода строки после последней строки. По умолчанию - пустой текст
Тело письма Необязательный, но настоятельно рекомендуемый параметр. По умолчанию - пустой текст

   


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

Set SmtpRus = Server.CreateObject("smtprus.smtprus.1")

SmtpRus.Host = Request.Form("host")

SmtpRus.Port = Request.Form("port")

SmtpRus.From = Request.Form("from")

SmtpRus.To = Request.Form("to")

SmtpRus.Cc = Request.Form("cc")

SmtpRus.Bcc = Request.Form("bcc")

SmtpRus.Charset = Request.Form("charset")

SmtpRus.AdditionalHeader = Request.Form("additionalheader")

SmtpRus.Subject = Request.Form("subject")

SmtpRus.Body = Request.Form("body")

SmtpRus.SendLetter

If SmtpRus.ErrorCode = 0 Then

  ... ( Сообщение об успешной отсылке )

Else

  =SmtpRus.ErrorMessage ( Сообщение об ошибке )

End If


Коды ошибок

При успешной отсылки письма в переменной ErrorCode возвращается значение 0. В противном случае возвращается код ошибки и переменная ErrorMessage содержит сообщение об ошибке. В следующей таблице перечислены возвращаемые коды и сообщения об ошибках:

2000 Не определено имя локального компьютера
2001 Не определено имя почтового сервера
2002 Ошибка установления соединения с почтовым сервером
2003 Ошибка создания TCP/IP сокетты
2004 Внутренняя ошибка установления соответствия между TCP сокеттой и архивами.
2005 Отрицательный результат соединения с почтовым сервером
2006 Отрицателтный результат на команду HELO
2007 Ошибка обмена данных по сети
2008 Запрещенный вызов внутренней функции SendLetter
2009 Не определен отправитель письма
2010 Не определен получатель письма
2011 Отрицательный результат на команду MAIL FROM
2012 Отрицательный результат на команду RCPT TO
2015 Отрицательный результат на команду DATA
2016 Не получено подтверждение об успешной отсылки данных
2017 Отрицательный результат на команду RSET

Леонид Аграноник

leoagr@relcom.eu.net