Перейти к основному содержимому

Отправка писем по протоколу SMTP

Для того, чтобы отправлять письма, предназначен тип КлиентSmtp. Экземпляр этого типа может быть получен из свойства глобального контекста КлиентSmtp. С помощью него предоставляется возможность отправлять электронную почту, используя протокол SMTP. При подключении к серверу электронной почты поддерживаются следующие виды аутентификации:

  • Анонимная аутентификация. Описывается стандартом RFC 4505.
  • Простой уровень аутентификации (SASL). Описывается стандартом RFC 4422.
  • Аутентификация вида запрос-ответ (CRAM-MD5). Описывается стандартом RFC 2195.

Схема работы

Схема работы выглядит следующим образом:

  1. Создается сообщение электронной почты. Для этого используется экземпляр типа Письмо.
  2. Для сообщения электронной почты задаются различные получатели сообщения (получатели, получатели копии, скрытые получатели, отправитель и т.д.). Для этого используется экземпляр типа АдресПочты и соответствующие инструменты экземпляра для работы с сообщением электронной почты.
  3. Устанавливаются прочие параметры создаваемого почтового сообщения: тема, содержимое и прочие параметры.
  4. Перед отправкой электронной почты необходимо указать параметры подключения к серверу электронной почты с помощью экземпляра типа ПараметрыПодключенияSmtp.
  5. С помощью метода КлиентSmtp.Отправить() выполняется отправка одного или нескольких сообщений электронной почты. Этот метод возвращает массив экземпляров типа РезультатОтправкиПисем. С его помощью можно получить состояние отправки сообщений.

Тип АдресПочты предназначен для указания не только собственно адреса электронной почты, но и представления этого адреса.

Пример

Пример отправки письма:

// Пример отправки письма
метод ОтправитьПисьмо()
// 1. Подготовить письмо
пер Сообщение = Письмо("sender@1c.ru")
Сообщение.ДобавитьПолучателей("recipient@1c.ru")
Сообщение.Тема = "Тема сообщения электронной почты"
Сообщение.УстановитьТекстКакСтроку("Текст сообщения электронной почты")

// 2. Отправить письмо
пер ПараметрыПодключения = ПолучитьПараметрыПодключенияSmtp()
КлиентSmtp.Отправить(ПараметрыПодключения, Сообщение)
;