我们需要能够通过 SMTP 从存储过程 (SQL Server 2012) 发送电子邮件。
我们需要保留对电子邮件“发件人”地址和“显示名称”的控制权,所以我认为这排除了数据库邮件,因为这些在创建的配置文件中是硬设置的(最好能超越!有人知道怎么做吗?)
我们还有哪些其他选择?
谢谢保罗
更新:在代码中创建所需的临时数据库邮件配置文件,使用它发送一次所需的电子邮件,然后删除配置文件会很愚蠢吗?
我们需要能够通过 SMTP 从存储过程 (SQL Server 2012) 发送电子邮件。
我们需要保留对电子邮件“发件人”地址和“显示名称”的控制权,所以我认为这排除了数据库邮件,因为这些在创建的配置文件中是硬设置的(最好能超越!有人知道怎么做吗?)
我们还有哪些其他选择?
谢谢保罗
更新:在代码中创建所需的临时数据库邮件配置文件,使用它发送一次所需的电子邮件,然后删除配置文件会很愚蠢吗?
从 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'
这是一种选择。创建一个 SSIS 包。
允许您的存储过程将电子邮件信息排队到数据库表中。您的 SSIS 包将查询此表并根据表中每一行的表值发送一封电子邮件,并在电子邮件发送后删除每条记录(或将其标记为已处理,以便您保留已发送电子邮件的记录)。然后安排一个 SQL 作业,在最适合您要求的任何时间间隔内运行您的包。