从SQL Server 2012存储过程发送电子邮件

时间:2013-01-04 10:28:16

标签: sql-server stored-procedures sql-server-2012 database-mail

我们要求能够通过SMTP从存储过程(SQL Server 2012)发送电子邮件。

我们需要保留对“FROM”地址和“显示名称”的电子邮件的控制权,所以我相信这会排除数据库邮件,因为这些在创建的配置文件中很难设置(很适合过度使用!任何人都知道如何操作? )

我们还有哪些其他选择?

谢谢保罗

更新:在代码中创建所需的临时数据库邮件配置文件,使用它发送一次所需的电子邮件,然后删除配置文件是不是很愚蠢?

2 个答案:

答案 0 :(得分:4)

从2008年起,您可以创建基本个人资料,然后使用@from_address/reply_to;

覆盖详细信息
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'my profile',
    ...
    @subject = 'The Spice must flow',
    @from_address = '"Bob Smith" <xxx@yyy.com>',
    @reply_to = 'xxx@yyy.com'

答案 1 :(得分:0)

这是一个选项。创建一个SSIS包。

允许您的存储过程将电子邮件信息排入数据库表。您的SSIS包将查询此表并根据表中每行的表值发送电子邮件,并在发送电子邮件后删除每条记录(或将其标记为已处理,以便保留已发送的电子邮件的记录)。然后安排一个运行您的包的SQL作业,以适合您的要求。

相关问题