2

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

我们需要保留对电子邮件“发件人”地址和“显示名称”的控制权,所以我认为这排除了数据库邮件,因为这些在创建的配置文件中是硬设置的(最好能超越!有人知道怎么做吗?)

我们还有哪些其他选择?

谢谢保罗

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

4

2 回答 2

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'
于 2013-01-04T14:11:46.067 回答
0

这是一种选择。创建一个 SSIS 包。

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

于 2013-01-04T13:56:12.667 回答