首页 > 数据库 > mysql教程 > 如何使用存储的地址以编程方式从 SQL Server 发送电子邮件?

如何使用存储的地址以编程方式从 SQL Server 发送电子邮件?

DDD
发布: 2024-12-28 00:34:10
原创
481 人浏览过

How to Programmatically Send Emails from SQL Server Using Stored Addresses?

如何利用存储的电子邮件地址以编程方式从 SQL Server 发送电子邮件

从 SQL Server 发送电子邮件对于各种场景来说都是一项有用的自动化任务。本文演示了当电子邮件地址存储在表中时如何使用 T-SQL 实现此目的。

分步实施:

步骤1:配置数据库邮件

  • 使用配置数据库邮件向导创建数据库邮件配置文件和帐户。此向导设置发送电子邮件所需的基础设施。

步骤 2:启用高级数据库邮件功能

执行以下命令以启用高级数据库邮件功能:

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO
登录后复制

第 3 步:使用特定地址发送一封电子邮件配置文件

使用 sp_send_dbmail 存储过程从指定配置文件发送电子邮件:

EXEC 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.'
登录后复制

步骤 4:循环表并发送电子邮件

要根据电子邮件地址表向多个收件人发送电子邮件,请按照以下步骤操作步骤:

  1. 声明电子邮件 ID (@email_id)、当前 ID (@id)、最大 ID (@max_id) 和 SQL 查询 (@query) 的变量。
  2. 从 [email_adresses] 表中获取最小和最大 ID。
  3. 使用 WHILE 循环迭代该表ID。
  4. 在循环中检索电子邮件地址 (@email_id)。
  5. 根据当前电子邮件地址动态构建 sp_send_dbmail 查询。
  6. 执行查询以发送电子邮件。
  7. 更新当前 ID (@id) 以用于下一个迭代。

这是循环的代码:

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
登录后复制

以上是如何使用存储的地址以编程方式从 SQL Server 发送电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板