sql - 如何从 SQL Server 发送电子邮件?

标签 sql sql-server tsql sp-send-dbmail

如何使用 T-SQL 发送电子邮件,但电子邮件地址存储在表中?我想遍历表格并能够发送电子邮件。到目前为止我找不到这样做的好例子。

最佳答案

第 1 步)创建个人资料和帐户

您需要使用配置数据库邮件向导创建配置文件和帐户,可以从管理节点中数据库邮件节点的配置数据库邮件上下文菜单访问该向导。该向导用于管理帐户、配置文件和数据库邮件全局设置。

步骤 2)

运行:

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO

步骤 3)

USE msdb
GO
EXEC sp_send_dbmail @profile_name='yourprofilename',
@recipients='test@Example.com',
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.'

循环遍历表格

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

将此内容发布到以下链接 http://ms-sql-queries.blogspot.in/2012/12/how-to-send-email-from-sql-server.html

关于sql - 如何从 SQL Server 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300881/

相关文章:

sql - 如何更改 SQL 中表中列的默认值设置?

php - 从mysql中的多个表中获取特定结果

sql - 将多行数据合并到一行中

sql-server - 如何抑制通过批处理文件执行的 sql 查询的输出

地理列上的 sql server union

sql - 我可以用 View (同名)替换表吗?

mysql - SQL - 分组表

Python 与 SQL 外连接给出不同的结果。为什么?

SQL Server : user defined function parameter

sql - t-sql GROUP BY 和 COUNT,然后包含 COUNT 中的 MAX