Как настроить почту 1С для отправки сообщений через Office365 и решить ошибку Relay Access Denied на внешние адреса?

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

При попытке настроить отправку электронной почты из 1С через почтовый сервер Exchange Online (Office365) многие пользователи сталкиваются с проблемой, когда письма успешно отправляются на корпоративные адреса, но при отправке на внешние (например, yandex.ru) возникает ошибка: "Отправка письма следующим получателям не выполнена: моя_почта*yandex.ru: Почтовый ящик не доступен (SMTP error code 550 5.7.64 TenantAttribution; Relay Access Denied [VI1EUR05FT040.eop-eur05.prod.protection.outlook.com])". Давайте вместе разберемся в причинах этой проблемы и найдем эффективные решения.

Понимание ошибки "550 5.7.64 TenantAttribution; Relay Access Denied"

Прежде чем перейти к настройкам, важно понять, что означает эта ошибка. Код 550 5.7.64 TenantAttribution; Relay Access Denied указывает на то, что сервер Exchange Online не разрешает вашему приложению (в данном случае 1С) ретранслировать (пересылать) почту на внешние адреса. Это происходит потому, что сервер не может однозначно идентифицировать отправителя как доверенного и авторизованного ретранслятора для данного домена. Основные причины могут быть следующими:

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

Основные настройки почтовой учетной записи в 1С

Для начала рассмотрим, какие параметры необходимо задать в 1С для работы с Office365. Эти настройки, как правило, находятся в разделе администрирования или персональных настроек пользователя, связанных с электронной почтой.

  1. Имя пользователя (Логин): Мы используем полный адрес электронной почты учетной записи Office365, например, user@yourdomain.com.
  2. Пароль: Вводим пароль от учетной записи Office365. Важно: Если для вашей учетной записи включена двухфакторная аутентификация (MFA), здесь нужно использовать пароль приложения, сгенерированный в настройках безопасности Office365, а не обычный пароль.
  3. Сервер исходящей почты (SMTP): Для Office365 это обычно smtp.office365.com.
  4. Порт исходящей почты: Рекомендуемый порт для защищенной связи с SMTP-сервером Office365 – 587. В некоторых случаях может использоваться порт 25, но это менее безопасно и может быть заблокировано провайдером.
  5. Использовать защищенное соединение (TLS/SSL): Обязательно установите флажок для использования шифрования TLS/SSL или STARTTLS. Office365 требует защищенного соединения.
  6. Авторизация SMTP: Убедитесь, что включена опция авторизации на SMTP-сервере (обычно "Требуется авторизация").
  7. Сервер входящей почты (POP3/IMAP) и порт: Для отправки почты эти настройки не критичны, но для полноценной работы с входящими письмами они должны быть корректными. Для IMAP это outlook.office365.com (порт 993, SSL), для POP3 – outlook.office365.com (порт 995, SSL). В рамках данной проблемы мы сосредоточимся на отправке, поэтому, как обсуждалось на форуме, поле POP.xxx.ru может содержать любые данные или быть пустым, если 1С используется только для отправки.
  8. Адрес отправителя: Укажите полный адрес электронной почты, от имени которого отправляются письма, он должен совпадать с логином.

Пример общих настроек в 1С (могут отличаться в зависимости от версии и конфигурации):

В типовых конфигурациях 1С, таких как 1С:Бухгалтерия или 1С:ERP, настройки почты обычно находятся в разделе Администрирование -> Органайзер -> Настройка почты или Настройка учетных записей электронной почты. Здесь мы заполняем поля:


// Пример полей для заполнения
Сервер POP3:               outlook.office365.com   (можно пропустить, если только отправка)
Порт POP3:                 995                     (можно пропустить, если только отправка)
SSL для POP3:              Да                      (можно пропустить, если только отправка)
Сервер SMTP:               smtp.office365.com
Порт SMTP:                 587
SSL для SMTP:              Да
Имя пользователя (логин):  your_email@yourdomain.com
Пароль:                    ваш_пароль_или_пароль_приложения
Адрес электронной почты:  your_email@yourdomain.com
Использовать внешнюю авторизацию: Нет (обычно)
Требуется авторизация SMTP: Да

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

Проверка настроек в Office365 (Exchange Online)

Проблема часто кроется не в 1С, а в ограничениях или некорректных настройках самой учетной записи или домена в Office365. Рассмотрим ключевые моменты, которые необходимо проверить в Центре администрирования Microsoft 365 или Центре администрирования Exchange.

  1. Включение SMTP AUTH

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

    Мы можем проверить и включить эту настройку следующим образом:

    • Через Центр администрирования Microsoft 365: Перейдите в Пользователи -> Активные пользователи, выберите нужного пользователя, перейдите в Почта -> Управление почтовыми приложениями. Убедитесь, что опция "Аутентифицированный SMTP" или "SMTP AUTH" включена.
    • Через PowerShell: Если нужно включить для множества пользователей или для всей организации, используем PowerShell. Сначала подключаемся к Exchange Online PowerShell, затем выполняем команды:
      
      // Проверить статус SMTP AUTH для пользователя
      Get-CASMailbox -Identity "User's Mailbox Name" | Format-List SmtpClientAuthenticationDisabled
      
      // Включить SMTP AUTH для пользователя
      Set-CASMailbox -Identity "User's Mailbox Name" -SmtpClientAuthenticationDisabled $false
      
      // Для всей организации (требуется осторожность)
      Set-TransportConfig -SmtpClientAuthenticationDisabled $false
      
  2. Двухфакторная аутентификация (MFA) и пароли приложений

    Это одна из самых частых причин ошибки "Relay Access Denied", как подсказал участник форума. Если для вашей учетной записи Office365 включена двухфакторная аутентификация (MFA), стандартный пароль не будет работать для приложений, которые напрямую используют SMTP-аутентификацию, как 1С. В этом случае нам потребуется создать "пароль приложения" (App Password).

    Мы можем сгенерировать пароль приложения:

    • Войдите в свою учетную запись Office365 через браузер.
    • Перейдите в настройки безопасности учетной записи (обычно это раздел "Безопасность и конфиденциальность" или "Дополнительные проверки безопасности").
    • Найдите опцию для создания паролей приложений и сгенерируйте новый.
    • Используйте этот сгенерированный пароль в настройках 1С вместо вашего основного пароля учетной записи Office365.
  3. Разрешение на отправку внешних писем

    Убедитесь, что для почтового ящика, который используется в 1С, нет политик или ограничений, запрещающих отправку писем на внешние адреса. Администраторы Exchange могут устанавливать такие ограничения для определенных учетных записей или групп.

    • Мы можем проверить настройки "Mail flow" (Поток обработки почты) и "Connectors" (Соединители) в Центре администрирования Exchange (EAC) на наличие правил, блокирующих или модифицирующих отправку на внешние адреса для данного отправителя.
  4. Параметры TLS/SSL

    Мы уже упоминали об этом в настройках 1С, но важно подтвердить, что Office365 ожидает защищенного соединения. Убедитесь, что в 1С активирована опция использования TLS/SSL для SMTP-подключения на порту 587.

  5. Имя пользователя и адрес отправителя

    Удостоверимся, что имя пользователя для аутентификации в 1С (логин) является полным адресом электронной почты Office365 (например, user@yourdomain.com), а не просто частью до знака "@". Также адрес отправителя в 1С должен точно соответствовать используемой учетной записи.

Варианты SMTP-релея в Office365

Для отправки почты через Office365 существует три основных метода, и выбор подходящего зависит от вашей конкретной ситуации и возможностей 1С. Разберем их подробнее:

  1. SMTP-аутентификация клиента (Client SMTP Submission)

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

    • Как работает: 1С подключается к smtp.office365.com на порт 587 (или 25), использует TLS/STARTTLS и предоставляет учетные данные пользователя Office365 для аутентификации. После успешной аутентификации, 1С может отправлять письма как внутренним, так и внешним получателям от имени этого пользователя.
    • Когда использовать: Идеально подходит, если 1С поддерживает SMTP-аутентификацию, что обычно и происходит. Это самый простой способ, если настроены корректные логин/пароль (или пароль приложения для MFA) и включен SMTP AUTH.
    • Причины ошибки "Relay Access Denied" при этом методе:
      • Неправильный логин или пароль (особенно при включенной MFA).
      • Отключен SMTP AUTH для пользователя или организации.
      • Не используется TLS/SSL или указан неверный порт.
      • Учетная запись имеет ограничения на отправку внешних писем.
  2. Прямая отправка (Direct Send)

    Этот метод подходит, если наше приложение (1С) не поддерживает SMTP-аутентификацию, или если мы хотим отправлять почту только внутренним получателям (в пределах нашего домена) и на внешние адреса, но без использования учетных данных пользователя Office365. Office365 идентифицирует отправителя по его IP-адресу.

    • Как работает: Наше приложение отправляет почту напрямую на серверы Exchange Online (например, your-domain.mail.protection.outlook.com). Для этого не требуется SMTP-аутентификация. Office365 принимает письмо, если отправляющий IP-адрес связан с нашим доменом, и его SPF-запись настроена корректно.
    • Когда использовать: Если 1С не умеет аутентифицироваться (что маловероятно для современных версий) или для отправки на внутренние адреса без аутентификации. Для отправки на внешние адреса через Direct Send требуется, чтобы IP-адрес, с которого отправляется почта, принадлежал вашему домену и был включен в SPF-запись домена.
    • Причины ошибки "Relay Access Denied" при этом методе:
      • IP-адрес отправляющего сервера 1С не добавлен в SPF-запись домена или не соответствует ожидаемому.
      • Неправильно указан SMTP-сервер (должен быть MX-запись вашего домена в Office365).
  3. SMTP-релей через соединитель (SMTP Relay using a Connector)

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

    • Как работает: Мы создаем специальный соединитель (Connector) в Центре администрирования Exchange Online. Этот соединитель настраивается на прием почты с конкретных IP-адресов или диапазонов IP-адресов, с которых будет отправлять 1С. Соединитель затем разрешает ретрансляцию почты на внешние адреса.
    • Когда использовать: Если 1С не поддерживает SMTP-аутентификацию, или нам нужно централизованно управлять ретрансляцией почты для нескольких приложений без предоставления индивидуальных учетных данных каждому.
    • Причины ошибки "Relay Access Denied" при этом методе:
      • IP-адрес сервера, где установлена 1С, не добавлен в разрешенные IP-адреса соединителя.
      • Соединитель настроен некорректно или неактивен.
      • Неправильно указан SMTP-сервер (должен быть MX-запись вашего домена в Office365).

Дополнительные шаги по устранению проблемы

  1. Проверка SPF-записи домена

    Хотя SPF-запись в большей степени относится к методу прямой отправки, убедимся, что наша SPF-запись для домена настроена корректно и включает spf.protection.outlook.com. Это помогает улучшить доставляемость писем и предотвращает их пометку как спама. Неправильная SPF-запись может косвенно влиять на доверие к отправителю и приводить к проблемам с ретрансляцией.

    Пример SPF-записи:

    
    "v=spf1 include:spf.protection.outlook.com ~all"
    
  2. Тестирование из других почтовых клиентов

    Чтобы исключить проблему на стороне 1С, попробуем настроить эту же учетную запись Office365 в другом почтовом клиенте (например, Outlook, Thunderbird) с теми же параметрами (SMTP-сервер, порт, логин, пароль/пароль приложения, TLS/SSL). Если из другого клиента почта на внешние адреса отправляется успешно, значит, проблема, скорее всего, в настройках 1С. Если ошибка повторяется, тогда мы точно знаем, что дело в конфигурации Office365 или учетной записи.

  3. Проверка журналов обмена почты (Mail Flow Logs) в Exchange Online

    Администраторы могут использовать функцию "Mail flow -> Message trace" (Отслеживание сообщений) в Центре администрирования Exchange Online для подробного анализа того, что происходит с письмами. Это позволяет увидеть точную причину отклонения письма, если она не очевидна из ошибки в 1С.

  4. Временное отключение MFA для тестирования

    Если мы подозреваем MFA, но не уверены, попробуем временно отключить MFA для тестовой учетной записи (если это допустимо политиками безопасности) и попробуем отправить письмо из 1С с основным паролем. Если отправка пройдет, это подтвердит, что проблема в MFA и нам необходимо использовать пароль приложения.

Разбирая эти шаги, мы можем систематически подойти к решению проблемы с отправкой почты из 1С через Office365 на внешние адреса. Чаще всего решение лежит в правильной настройке SMTP AUTH и учете двухфакторной аутентификации в Office365, а также корректных параметрах подключения в 1С.

← На главную