Как программно отправить электронное письмо в 1С:Предприятие 8.3 и исправить ошибку 503?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При переходе с платформы 8.2 на 8.3 многие разработчики сталкиваются с проблемами при отправке почты, чаще всего это ошибка 503 (SMTP error code 503). Давайте разберем, почему она возникает и как правильно настроить программную отправку писем, используя современные протоколы шифрования.

Разбор причин возникновения ошибки 503

Ошибка 503 при работе с почтой часто указывает на проблемы аутентификации или неверную последовательность команд при использовании SSL. В версиях платформы 8.3 изменились требования к заполнению свойств объекта ИнтернетПочтовыйПрофиль. Если ваша конфигурация работает в режиме совместимости с версией 8.2, часть свойств может отрабатывать некорректно.

Для решения проблемы мы рекомендуем убедиться, что вы используете актуальные свойства профиля и правильно настроили параметры порта для шифрованного соединения.

Пошаговая настройка отправки письма

Для корректной работы почты в современных версиях платформы 1С:Предприятие 8.3, при использовании популярных почтовых сервисов (например, mail.ru), необходимо следовать этой структуре кода:


// Создаем профиль подключения
ИнПрофиль = Новый ИнтернетПочтовыйПрофиль;
ИнПрофиль.ВремяОжидания = 180;
ИнПрофиль.АдресСервераSMTP = "smtp.mail.ru";
ИнПрофиль.Пользователь = "ваш_логин@mail.ru";
ИнПрофиль.ПользовательSMTP = "ваш_логин@mail.ru";
ИнПрофиль.ПарольSMTP = "ваш_пароль_или_пароль_приложения";
ИнПрофиль.ПортSMTP = 465;
ИнПрофиль.ИспользоватьSSLSMTP = Истина;
ИнПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;

// Создаем сообщение
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Отправитель.Адрес = "ваш_логин@mail.ru";
Сообщение.Тема = "Тема письма";
Сообщение.Получатели.Добавить("адрес_получателя@example.com");
Текст = Сообщение.Тексты.Добавить("Текст письма", ТипТекстаПочтовогоСообщения.ПростойТекст);

// Подключаемся и отправляем
Почта = Новый ИнтернетПочта;
Попытка
    Почта.Подключиться(ИнПрофиль);
    Почта.Послать(Сообщение);
    Сообщить("Письмо успешно отправлено!");
Исключение
    Сообщить("Ошибка при отправке: " + ОписаниеОшибки());
КонецПопытки;
Почта.Отключиться();

Ключевые моменты при настройке

  1. Порты и шифрование: Для использования порта 465 обязательно установите свойство ИспользоватьSSLSMTP = Истина. Без этого свойства или при указании неверного порта соединение будет сброшено сервером.
  2. Способ аутентификации: Вместо СпособSMTPАутентификации.ПоУмолчанию, в современных реалиях надежнее явно указывать СпособSMTPАутентификации.Login. Это устраняет многие неоднозначности при взаимодействии с SMTP-серверами.
  3. Режим совместимости: Если вы работаете в старой конфигурации, где включен режим совместимости (например, 8.2.16), платформа может некорректно обрабатывать SSL-соединения. По возможности, отключите режим совместимости в конфигураторе или используйте актуальную версию платформы 8.3 (от 8.3.7 и выше), в которой поддержка SSL реализована более стабильно.
  4. Безопасность почтового сервера: Помните, что современные почтовые сервисы (Mail.ru, Яндекс, Gmail) требуют использования специальных паролей приложений. Если вы используете обычный пароль от входа на сайт, сервер может отклонить соединение, выдав ошибку аутентификации, которая интерпретируется 1С как 503.

Использование встроенных справочников

В типовых конфигурациях (таких как УПП, УТ, БП) реализован справочник УчетныеЗаписиЭлектроннойПочты. Мы настоятельно рекомендуем не прописывать настройки вручную, а считывать их из этого справочника.

Для этого удобно использовать механизмы типовой конфигурации, например, функцию УправлениеЭлектроннойПочтой.ПолучитьПрофильПоУчетнойЗаписи(). Это позволит вам и пользователям менять настройки (пароли, адреса серверов) прямо из интерфейса программы, не внося изменения в конфигуратор. Таким образом, вся логика отправки почты становится гибкой и легко поддерживаемой.

Проанализировав все вышеизложенное, мы можем сделать вывод, что успех отправки письма в 1С зависит от комбинации правильно заполненного ИнтернетПочтовыйПрофиль и настроек безопасности самого почтового провайдера. Следуйте этим рекомендациям, и ваша система почтовых уведомлений будет работать без сбоев!

← На главную