Чтобы отправить электронное письмо с SQL Server, вы можете использовать различные методы. Вот несколько вариантов с примерами кода:
-
Использование встроенной хранимой процедуры SQL Server (sp_send_dbmail):
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'YourProfile', @recipients = 'recipient@example.com', @subject = 'Email Subject', @body = 'Email Body'; -
Использование интеграции SQL CLR (Common Language Runtime):
-- Create the CLR stored procedure CREATE PROCEDURE dbo.SendEmail @ToEmail VARCHAR(100), @Subject VARCHAR(100), @Body VARCHAR(MAX) AS EXTERNAL NAME [YourAssembly].[YourClass].[SendEmail]; -- C# code within the CLR assembly using System.Net.Mail; public class YourClass { public static void SendEmail(string ToEmail, string Subject, string Body) { MailMessage mail = new MailMessage(); SmtpClient smtpClient = new SmtpClient("your-smtp-server"); mail.From = new MailAddress("your-email@example.com"); mail.To.Add(ToEmail); mail.Subject = Subject; mail.Body = Body; smtpClient.Send(mail); } }Перед использованием этого метода необходимо включить интеграцию CLR в SQL Server и создать сборку CLR.
-
Использование внешних языков программирования (например, PowerShell):
EXEC xp_cmdshell 'powershell.exe -ExecutionPolicy Bypass -Command "Send-MailMessage -To ''recipient@example.com'' -From ''your-email@example.com'' -Subject ''Email Subject'' -Body ''Email Body'' -SmtpServer ''your-smtp-server''"';
Это всего лишь несколько примеров того, как можно отправлять электронную почту с SQL Server. Доступны и другие методы, например использование сторонних библиотек или написание собственных приложений, взаимодействующих с базой данных.