从 SQL Server 自动发送电子邮件
此问题寻求使用 Transact-SQL (T-SQL) 从 SQL Server 发送电子邮件的解决方案,特别是当收件人电子邮件地址存储在数据库表中时。目标是通过循环遍历表格并向每个地址发送电子邮件来自动化电子邮件发送过程。
解决方案步骤:
1.配置:
通过运行以下命令设置 SQL Server 权限:
sp_CONFIGURE 'show advanced', 1 GO RECONFIGURE GO sp_CONFIGURE 'Database Mail XPs', 1 GO RECONFIGURE GO
2。发送电子邮件:
要以编程方式发送电子邮件,请使用 sp_send_dbmail 存储过程:
sp_send_dbmail @profile_name='yourprofilename', @recipients='[email protected]', @subject='Test message', @body='This is the body of the test message. Congrates Database Mail Received By you Successfully.'
3.循环遍历表:
要将电子邮件发送给表中存储的多个收件人,请使用循环:
DECLARE @email_id NVARCHAR(450), @id BIGINT, @max_id BIGINT, @query NVARCHAR(1000) SELECT @id=MIN(id), @max_id=MAX(id) FROM [email_adresses] WHILE @id<=@max_id BEGIN SELECT @email_id=email_id FROM [email_adresses] set @query='sp_send_dbmail @profile_name=''yourprofilename'', @recipients='''+@email_id+''', @subject=''Test message'', @body=''This is the body of the test message. Congrates Database Mail Received By you Successfully.''' EXEC @query SELECT @id=MIN(id) FROM [email_adresses] where id>@id END
以上是如何使用 T-SQL 自动从 SQL Server 发送电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!