"сначала нужно выполнить команду starttls", когда MSSQL отправляет электронную почту через Microsoft Online

Я написал хранимую процедуру в MSSQL Server 2008 R2, которая отправляет электронные письма, когда мое приложение регистрирует ошибки. Он отлично работает на серверах в нашем офисе, но когда я запустил его на наших удаленных серверах, я получил

must issue a starttls command first

Так что, может быть, где-то есть настройка, которая отличается между двумя серверами, и именно поэтому она работает на одном, а не на другом. Как настроить сервер таким образом, чтобы он выдавал "starttls commaned first"?

1 ответ

Решение

Я полагаю, что сообщение об ошибке "сначала нужно выполнить команду starttls" приходит с почтового сервера, на который вы отправляете свою электронную почту. Он может быть настроен на прием только зашифрованных соединений для передачи сообщений. Вы можете убедиться в этом, попробовав подключиться к почтовому серверу через telnet и имитировать обмен протоколом SMTP, который может выглядеть примерно так:

putty -telnet mail.example.com 25

> 220 mail.example.com Microsoft ESMTP MAIL Service ready at Wed, 29 Jun 2011 11:57:31 +0200
< helo test
> 500 5.3.3 Unrecognized command
< helo test
> 250 mail.example.com Hello [123.45.67.89]
< mail from:<test@test.com>
> 250 2.1.0 Sender OK
< rcpt to:<testuser@example.com>
> 250 2.1.5 Recipient OK
< data
> 354 Start mail input; end with <CRLF>.<CRLF>

В этом примере строки, начинающиеся с ">", являются ответами почтового сервера, а строки, начинающиеся с "<", - это то, что вам нужно ввести, чтобы получить ответы. Замените mail.example.com на используемый вами почтовый сервер. Если вы увидите "необходимо сначала запустить starttls" в любом месте биржи, то это оно.

Если вы используете мастер настройки Database Mail в SQL Server 2008 для определения настроек учетной записи вашего почтового сервера вместе с хранимой процедурой sp_send_dbmail для отправки почты, вам просто нужно убедиться, что "этот сервер требует безопасного соединения (SSL)"флажок установлен в свойствах аккаунта.

Другие вопросы по тегам