При попытке настроить отправку электронной почты из 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 указывает на то, что сервер Exchange Online не разрешает вашему приложению (в данном случае 1С) ретранслировать (пересылать) почту на внешние адреса. Это происходит потому, что сервер не может однозначно идентифицировать отправителя как доверенного и авторизованного ретранслятора для данного домена. Основные причины могут быть следующими:
Для начала рассмотрим, какие параметры необходимо задать в 1С для работы с Office365. Эти настройки, как правило, находятся в разделе администрирования или персональных настроек пользователя, связанных с электронной почтой.
user@yourdomain.com.smtp.office365.com.outlook.office365.com (порт 993, SSL), для POP3 – outlook.office365.com (порт 995, SSL). В рамках данной проблемы мы сосредоточимся на отправке, поэтому, как обсуждалось на форуме, поле POP.xxx.ru может содержать любые данные или быть пустым, если 1С используется только для отправки.Пример общих настроек в 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С может иметь значение, поскольку в разных версиях могут быть реализованы различные механизмы работы с почтой, исправления ошибок или добавлены новые возможности. Если у вас используется старая или специфическая версия БСП, стоит проверить, нет ли известных проблем с почтовым функционалом в вашей версии или обновить БСП до актуальной.
Проблема часто кроется не в 1С, а в ограничениях или некорректных настройках самой учетной записи или домена в Office365. Рассмотрим ключевые моменты, которые необходимо проверить в Центре администрирования Microsoft 365 или Центре администрирования Exchange.
Для того чтобы 1С могла аутентифицироваться на SMTP-сервере Office365, необходимо, чтобы функция SMTP AUTH была включена для вашей организации или для конкретного пользователя. По умолчанию в некоторых конфигурациях Office365 SMTP AUTH может быть отключен из соображений безопасности.
Мы можем проверить и включить эту настройку следующим образом:
// Проверить статус 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
Это одна из самых частых причин ошибки "Relay Access Denied", как подсказал участник форума. Если для вашей учетной записи Office365 включена двухфакторная аутентификация (MFA), стандартный пароль не будет работать для приложений, которые напрямую используют SMTP-аутентификацию, как 1С. В этом случае нам потребуется создать "пароль приложения" (App Password).
Мы можем сгенерировать пароль приложения:
Убедитесь, что для почтового ящика, который используется в 1С, нет политик или ограничений, запрещающих отправку писем на внешние адреса. Администраторы Exchange могут устанавливать такие ограничения для определенных учетных записей или групп.
Мы уже упоминали об этом в настройках 1С, но важно подтвердить, что Office365 ожидает защищенного соединения. Убедитесь, что в 1С активирована опция использования TLS/SSL для SMTP-подключения на порту 587.
Удостоверимся, что имя пользователя для аутентификации в 1С (логин) является полным адресом электронной почты Office365 (например, user@yourdomain.com), а не просто частью до знака "@". Также адрес отправителя в 1С должен точно соответствовать используемой учетной записи.
Для отправки почты через Office365 существует три основных метода, и выбор подходящего зависит от вашей конкретной ситуации и возможностей 1С. Разберем их подробнее:
Это самый распространенный и рекомендуемый метод для большинства приложений и устройств, включая 1С. Мы используем его, когда хотим отправлять почту с использованием учетных данных конкретного пользователя Office365.
smtp.office365.com на порт 587 (или 25), использует TLS/STARTTLS и предоставляет учетные данные пользователя Office365 для аутентификации. После успешной аутентификации, 1С может отправлять письма как внутренним, так и внешним получателям от имени этого пользователя.Этот метод подходит, если наше приложение (1С) не поддерживает SMTP-аутентификацию, или если мы хотим отправлять почту только внутренним получателям (в пределах нашего домена) и на внешние адреса, но без использования учетных данных пользователя Office365. Office365 идентифицирует отправителя по его IP-адресу.
your-domain.mail.protection.outlook.com). Для этого не требуется SMTP-аутентификация. Office365 принимает письмо, если отправляющий IP-адрес связан с нашим доменом, и его SPF-запись настроена корректно.Этот метод используется для приложений или устройств, которые не могут использовать SMTP-аутентификацию (как Direct Send), но при этом мы хотим отправлять почту как внутренним, так и внешним получателям. Это более сложный, но гибкий метод, который позволяет точно контролировать, какие устройства могут отправлять почту.
Хотя SPF-запись в большей степени относится к методу прямой отправки, убедимся, что наша SPF-запись для домена настроена корректно и включает spf.protection.outlook.com. Это помогает улучшить доставляемость писем и предотвращает их пометку как спама. Неправильная SPF-запись может косвенно влиять на доверие к отправителю и приводить к проблемам с ретрансляцией.
Пример SPF-записи:
"v=spf1 include:spf.protection.outlook.com ~all"
Чтобы исключить проблему на стороне 1С, попробуем настроить эту же учетную запись Office365 в другом почтовом клиенте (например, Outlook, Thunderbird) с теми же параметрами (SMTP-сервер, порт, логин, пароль/пароль приложения, TLS/SSL). Если из другого клиента почта на внешние адреса отправляется успешно, значит, проблема, скорее всего, в настройках 1С. Если ошибка повторяется, тогда мы точно знаем, что дело в конфигурации Office365 или учетной записи.
Администраторы могут использовать функцию "Mail flow -> Message trace" (Отслеживание сообщений) в Центре администрирования Exchange Online для подробного анализа того, что происходит с письмами. Это позволяет увидеть точную причину отклонения письма, если она не очевидна из ошибки в 1С.
Если мы подозреваем MFA, но не уверены, попробуем временно отключить MFA для тестовой учетной записи (если это допустимо политиками безопасности) и попробуем отправить письмо из 1С с основным паролем. Если отправка пройдет, это подтвердит, что проблема в MFA и нам необходимо использовать пароль приложения.
Разбирая эти шаги, мы можем систематически подойти к решению проблемы с отправкой почты из 1С через Office365 на внешние адреса. Чаще всего решение лежит в правильной настройке SMTP AUTH и учете двухфакторной аутентификации в Office365, а также корректных параметрах подключения в 1С.