Я верю Ваш, "должен дать starttls команду сначала" сообщение об ошибке, прибывает из почтового сервера, к которому Вы передаете свою электронную почту. Это может быть установлено до, только принимают зашифрованные соединения для передач сообщений. Вы могли проверить это путем попытки к telnet в почтовый сервер и имитации обмена протокола SMTP, который мог бы несколько походить на это:
шпаклевка - 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 сначала" где угодно в обмене, то это - он.
При использовании Почтового мастера конфигурации Базы данных SQL Server 2008 для определения настроек учетной записи почтового сервера наряду с sp_send_dbmail хранимой процедурой для отправки почты, просто необходимо будет удостовериться, что "этот сервер требует, чтобы безопасное соединение (SSL)" флажок было проверено в свойствах учетной записи.