Почему не отправляются письма из 1С:Управление торговлей через Outlook Live с ошибкой SMTP 503 Bad sequence of commands?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе с программным продуктом 1С:Предприятие, в частности с конфигурацией 1С:Управление торговлей (УТ), пользователи часто сталкиваются с необходимостью настройки интеграции с внешними почтовыми сервисами. Одним из таких популярных сервисов является Outlook Live, охватывающий учетные записи на доменах live.ru, outlook.com, hotmail.com, а также бизнес-аккаунты Office 365. Несмотря на, казалось бы, успешное прохождение проверки настроек почты в 1С, иногда возникают сложности с отправкой писем, сопровождаемые ошибками, такими как SMTP error code 503 Bad sequence of commands. Давайте подробно разберем эту ситуацию и выясним, как ее решить.

Начнем с анализа типичной проблемы. Пользователь настраивает учетную запись почты в 1С:УТ 11.4 или 11.5. Проверка подключения к почтовому серверу (получение и отправка) проходит успешно, но при попытке отправить реальное письмо оно не доходит до получателя, и в журнале регистрации 1С появляется ошибка Неизвестная ошибка (SMTP error code 503 Bad sequence of commands) или 503 5.5.4 Bad sequence of commands, 503 5.5.1 Bad sequence of commands. Интересно, что в другой информационной базе с той же учетной записью и идентичными настройками отправка может работать без проблем. Ситуация часто усугубляется после смены пароля от почтового ящика.

Основные причины возникновения ошибки SMTP 503 Bad sequence of commands

Ошибка 503 Bad sequence of commands, как правило, указывает на то, что SMTP-сервер получил команды в неправильной последовательности, либо ему требуется дополнительная аутентификация перед началом отправки письма, которая по каким-то причинам не была успешно пройдена или была пройдена некорректно.

Мы выделим несколько ключевых факторов, которые могут приводить к этой ошибке при работе с Outlook Live и Office 365 из 1С:

  1. Неверные настройки SMTP-сервера, порта или метода шифрования: Несмотря на кажущуюся очевидность, это одна из самых частых причин. SMTP-сервер строго ожидает определенный порт и протокол шифрования.
  2. Проблемы с аутентификацией: Сервер может ожидать аутентификацию перед началом отправки команд, а клиент (1С) либо не предоставил ее, либо предоставил некорректно. Смена пароля от учетной записи почты может привести к необходимости повторной аутентификации или обновлению пароля в 1С.
  3. Проблемное письмо: Регламентное задание по отправке почты в 1С может "зависать" на одном конкретном письме, содержащем некорректные данные (например, запрещенные символы в адресе получателя, такие как русские буквы). В этом случае, несмотря на наличие других корректных писем в очереди, они не будут отправлены.
  4. Особенности работы регламентных заданий и опции "Почтовый клиент" в 1С: Взаимодействие между автоматической отправкой через регламентные задания и настройкой "Почтовый клиент" в Органайзере 1С может влиять на процесс отправки.

Шаг 1: Проверка и корректировка базовых настроек SMTP для Outlook Live (Microsoft 365/Office 365)

Прежде всего, давайте убедимся, что параметры подключения к почтовому серверу исходящей почты (SMTP) настроены правильно. Часто ошибка Отказ в установлении соединения со стороны сервера (код ошибки: 25), которая предшествует 503 Bad sequence of commands, возникает из-за неверного порта или отсутствия шифрования.

Для учетных записей Outlook Live (live.com, outlook.com, hotmail.com, msn.com) и бизнес-аккаунтов Microsoft 365 / Office 365 рекомендуется использовать следующие настройки:

  1. SMTP-сервер:
    • Для бизнес-аккаунтов Microsoft 365: smtp.office365.com
    • Для личных учетных записей Outlook.com (Live.com, Hotmail.com, MSN.com): smtp-mail.outlook.com

    В нашем случае, в сообщениях форума фигурирует smtp.office365.com, что указывает на использование бизнес-аккаунта или аккаунта, переведенного на инфраструктуру Office 365.

  2. Порт SMTP: 587. Это критически важный параметр. Использование других портов, например, 589, как это было указано в одном из сообщений, приведет к ошибке отказа в соединении.
  3. Метод шифрования: STARTTLS (или TLS). Убедитесь, что соответствующая опция включена. В 1С это может быть опция "Использовать SSL" или "Использовать защищенное соединение". Если у вас нет явной опции STARTTLS, используйте SSL/TLS.
  4. Аутентификация: Требуется. Всегда включаем аутентификацию для исходящего сервера. Используйте ваш полный адрес электронной почты в качестве имени пользователя (логина) и пароль от учетной записи Outlook.

Рассмотрим пример корректировки настроек в 1С:

Если в настройках у вас было указано:

АдресСервераSMTP="smtp.office365.com", ПортSMTP="589", ИспользоватьSSLSMTP="Нет"

то необходимо изменить на:


АдресСервераSMTP="smtp.office365.com", ПортSMTP="587", ИспользоватьSSLSMTP="Да" (или "Использовать защищенное соединение")

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

Шаг 2: Диагностика и устранение проблем с аутентификацией

Даже если настройки сервера и порта корректны, ошибки аутентификации могут вызывать 503 Bad sequence of commands. Обратим внимание на следующие моменты:

  1. Смена пароля: После смены пароля от почтового ящика крайне важно обновить его в настройках учетной записи в 1С. Для некоторых почтовых сервисов (хотя для Outlook Live это менее актуально, чем для Яндекс или Google) первый вход после смены пароля должен быть выполнен через веб-интерфейс для завершения процедуры регистрации. Убедитесь, что вы можете успешно войти в свою почту через веб-браузер.
  2. Двухфакторная аутентификация (2FA): Если на вашей учетной записи Microsoft включена двухфакторная аутентификация, вам, скорее всего, потребуется сгенерировать специальный "пароль приложения" (App Password) для использования в 1С вместо основного пароля. Это стандартная практика для сторонних приложений. Вы можете сгенерировать такой пароль в настройках безопасности вашей учетной записи Microsoft.
  3. Включение SMTP AUTH: Для отправки писем через SMTP Office 365 необходимо убедиться, что для вашего почтового ящика включена функция SMTP AUTH. Эту настройку обычно проверяют и изменяют в Центре администрирования Microsoft 365. Мы просим администраторов вашей учетной записи проверить это в разделе "Пользователи" -> "Активные пользователи" -> выбрать пользователя -> "Почта" -> "Почтовые приложения" -> "Управление почтовыми приложениями" -> убедиться, что опция "Прошедший проверку подлинности SMTP" включена.

Шаг 3: Выявление и удаление "проблемных" писем

Это одна из наиболее неочевидных, но часто встречающихся причин ошибки 503 Bad sequence of commands, которая была успешно идентифицирована участниками обсуждения. Если регламентное задание 1С встречает ошибку при отправке одного письма, оно может прекратить дальнейшую обработку всей очереди. Проблема часто кроется в некорректных символах в адресе получателя или содержимом письма.

Разберем по шагам, как найти и устранить проблемное письмо:

  1. Откройте список исходящей почты в 1С: Перейдите к списку исходящих электронных писем. Это можно сделать, например, через меню "Все функции" (если включено) или напрямую по адресу: e1cib/list/Документ.ЭлектронноеПисьмоИсходящее.
  2. Найдите самое раннее исходящее письмо: В списке исходящих писем отсортируйте их по дате отправки (или по дате создания) в возрастающем порядке. Нас интересует самое первое письмо, которое стоит в очереди на отправку. Именно оно, скорее всего, блокирует всю очередь.
  3. Проверьте проблемное письмо:
    • Адрес получателя: Внимательно проверьте адрес получателя этого письма на наличие необычных символов. Например, как было замечено, это может быть русский символ, введенный вместо латинского (например, русская 'А' вместо английской 'A'). Сервер SMTP очень чувствителен к формату адресов.
    • Содержимое письма: Просмотрите тему и текст письма на наличие специальных символов или нестандартных кодировок, которые могут быть неправильно интерпретированы SMTP-сервером.
  4. Примите решение по проблемному письму:
    • Если вы обнаружили некорректные данные, скорректируйте их.
    • Если причина ошибки не очевидна, или письмо не критично, вы можете пометить его на удаление. Это позволит регламентному заданию перейти к следующему письму в очереди.
  5. Повторите попытку отправки: После устранения проблемного письма, регламентное задание сможет продолжить свою работу и, при отсутствии других препятствий, отправит остальные письма.

Важно понимать логику регламентного задания в 1С: оно обрабатывает письма по порядку. Если первое письмо в очереди вызывает ошибку, весь процесс останавливается, и последующие письма не будут отправлены до тех пор, пока проблема с этим "застрявшим" письмом не будет решена. В более новых версиях платформы 1С после невозможности отправить письмо происходит разрыв соединения с сервером, и другие письма не отправляются, поэтому может потребоваться переподключение к серверу после ошибки.

Шаг 4: Управление опцией "Почтовый клиент" в Органайзере 1С

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

Рассмотрим, как это работает:

  1. Навигация: Перейдите в раздел "Настройка и администрирование" -> "Органайзер".
  2. Опция "Почтовый клиент": Найдите и снимите галочку напротив пункта "Почтовый клиент".

Почему это может помочь?

Как объяснили участники форума, при отключенной опции "Почтовый клиент" отправка писем может идти не через стандартное регламентное задание 1С, а напрямую, возможно, используя иную логику или инициализируя новое соединение для каждого письма. Это может помочь обойти проблему, связанную с "зависанием" регламентного задания на одном проблемном письме или с особенностями последовательности команд. Однако, следует учитывать, что при отключении "Почтового клиента" могут быть недоступны некоторые функции, такие как автоматическое заполнение поля email клиента в письме, и может не вестись полный список отправленных писем в интерфейсе "Взаимодействия".

Если в вашем случае ручная отправка писем (через "Взаимодействия" -> "Электронная почта" -> выбрать письмо -> "Отправить сейчас") работает без проблем, а автоматическая отправка через регламентное задание с включенным "Почтовым клиентом" выдает ошибку, то это явный признак того, что проблема кроется именно в поведении регламентного задания или в способе взаимодействия с SMTP-сервером при автоматической отправке. В этом сценарии, снятие галочки "Почтовый клиент" является временным решением или обходным путем, позволяющим возобновить автоматическую отправку, жертвуя частью функционала.

Дополнительные проверки

Заключение

Решение проблемы с отправкой писем из 1С:УТ через Outlook Live и Office 365 с ошибкой SMTP error code 503 Bad sequence of commands обычно требует комплексного подхода. Мы рассмотрели и систематизировали шаги, начиная от базовой проверки и корректировки настроек SMTP (сервер, порт, шифрование), переходя к диагностике аутентификации (смена пароля, двухфакторная аутентификация, SMTP AUTH), и, что особенно важно, выявлению и устранению влияния "проблемных" писем, блокирующих работу регламентных заданий. Использование обходного пути с опцией "Почтовый клиент" также может временно решить проблему, если основная причина не найдена сразу. Следуя этим рекомендациям, мы уверены, что вы сможете восстановить стабильную работу почтовой подсистемы в вашей 1С:Управление торговлей.

← На главную