Я получаю сообщение об ошибке в SQL Server 2012 Database Mail при выполнении хранимой процедуры для отправки электронной почты с указанного адреса на указанный адрес с использованием Office 365 в качестве SMTP-сервера.
Письмо не может быть отправлено получателям из-за сбоя почтового сервера. (Отправка почты с использованием учетной записи 1 (2014-06-10T15: 28: 48). Сообщение об исключении: невозможно отправить почту на почтовый сервер. (Почтовый ящик недоступен. Ответ сервера был: 5.7.1 У клиента нет разрешений на отправку в качестве этого отправителя. ).
Этот же хранимый процесс отлично работает в производстве на другом сервере. Единственное изменение заключается в том, что этот экземпляр работающей хранимой процедуры - это SQL Server 2008 R2.
Судя по ошибке, это ошибка SMTP, я прав? Все пользователи, которых я использую для отправки и получения почты, находятся в одном домене O365 и имеют права доступа {SendAs} и NT Authority \ Self Trustees в O365.
Я могу telnet office 365 через указанный порт (587) отлично, и еще более странно то, что я могу отправлять электронную почту с помощью функции «Отправить тестовое электронное письмо» в DB Mail, используя тот же профиль Office 365, который указан в сохраненной процедуре.
Любая помощь будет оценена.
Скриншот настроек почты базы данных
Чтобы решить эту проблему, я установил SMTP-сервер локально на том же сервере, что и экземпляр SQL Server. Я настроил почту БД на localhost, а затем установил параметры Office 365 на SMTP-сервере, гарантируя, что шифрование TLs и правильный порт указаны.
Похоже, это решило проблему для меня.