我们要求能够通过SMTP从存储过程(SQL Server 2012)发送电子邮件。
我们需要保留对“FROM”地址和“显示名称”的电子邮件的控制权,所以我相信这会排除数据库邮件,因为这些在创建的配置文件中很难设置(很适合过度使用!任何人都知道如何操作? )
我们还有哪些其他选择?
谢谢保罗
更新:在代码中创建所需的临时数据库邮件配置文件,使用它发送一次所需的电子邮件,然后删除配置文件是不是很愚蠢?
答案 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作业,以适合您的要求。