Можно легко сделать это использование SQL Server Почта DB (SQL 2005 +, я думаю). Необходимо будет включить его с помощью Инструмента конфигурирования Площади поверхности (или системные опции) и настроить почтовые профили на экземпляре SQL Server до использования его.
Можно посмотреть на SQL BOL или эта статья MSDN, которая перечисляет все Почтовые хранимые процедуры DB и предоставляет дополнительные ссылки для использования их.
После того как Вам включили Почту DB и настроили почтовый профиль, синтаксис для пользования электронной почтой результатов запроса был бы чем-то вроде этого:
EXEC msdb.dbo.sp_send_dbmail
@recipients=N'me@mydomain.com',
@body='Query Results Are Attached',
@subject ='Query Results',
@profile_name ='MyDBMailProfile',
@query ='SELECT * FROM mytable',
@attach_query_result_as_file = 1,
@query_attachment_filename ='QueryResults.txt'
После того, как у Вас есть свой оператор, работающий правильно, можно создать задание SQL Agent для выполнения, он и иметь его работает на регулярном графике.
Эти документы являются пошаговыми инструкциями для установки электронной почты на IIS7. Нет Вы не должны иметь к (или откровенно должен) устанавливать Hmailserver (почему Вам было бы нужно к тому, когда можно отправить почту непосредственно от какой-либо системы окон даже без установленного реле?).
Немного отсутствия детали состоит в том, чтобы гарантировать, чтобы Вы вошли в свойства сервера SMTP, Нажали на вкладку Access и Реле, добавьте запись для 127.0.0.1
Протестировать
можно или вручную послать электронное письмо от машины (telnet для портирования 25 от машины и т.д....) или использовать сценарий как этот (powershell)
$emailFrom = "user@yourdomain.com"
$emailTo = "user@yourdomain.com"
$subject = "your subject"
$body = "your body"
$smtpServer = "Localhost"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)