【问题标题】:Sending Emails From SQL Server 2012 Stored Procedures从 SQL Server 2012 存储过程发送电子邮件
【发布时间】:2013-01-04 10:28:15
【问题描述】:

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

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

我们还有哪些其他选择?

谢谢保罗

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

【问题讨论】:

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


    【解决方案1】:

    从 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'
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-06-26
        • 1970-01-01
        • 1970-01-01
        • 2014-12-15
        • 1970-01-01
        • 2023-04-04
        • 2014-07-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多