65.9K
CodeProject 正在变化。 阅读更多。
Home

SQL SERVER - 2008 - 配置数据库邮件 - 从 SQL 数据库发送电子邮件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.88/5 (30投票s)

2008 年 9 月 3 日

CPOL

2分钟阅读

viewsIcon

224375

SQL SERVER - 2008 - 配置数据库邮件 - 从 SQL 数据库发送电子邮件

引言

在本文中,我将讨论数据库邮件,它用于使用 SQL Server 发送电子邮件。 之前我讨论过 SQL SERVER - 数据库邮件和 SQLMail 之间的区别 数据库邮件是 SQLMail 的替代品,具有许多增强功能。因此,应该停止使用 SQLMail 并升级到数据库邮件。

为了在 SQL Server 中使用数据库邮件发送邮件,需要执行 3 个基本步骤

  1. 创建配置文件和帐户
  2. 配置电子邮件
  3. 发送电子邮件

步骤 1:创建配置文件和帐户

您需要使用“配置数据库邮件向导”创建一个配置文件和帐户,该向导可以从“管理节点”中“数据库邮件”节点的“配置数据库邮件”上下文菜单访问。

此向导用于管理帐户、配置文件和数据库邮件全局设置,如下所示

步骤 2:配置电子邮件

成功创建帐户和配置文件后,我们需要配置数据库邮件。 要配置它,我们需要通过 sp_configure 存储过程启用 Database Mail XPs 参数,如下所示

sp_CONFIGURE 'show advanced', 1 GO RECONFIGURE GO sp_CONFIGURE _
	'Database Mail XPs', 1 GO RECONFIGURE GO 

步骤 3:发送电子邮件

完成所有配置后,我们现在可以发送电子邮件了。 要发送邮件,我们需要执行存储过程 sp_send_dbmail 并提供所需的参数,如下所示

USE msdb GO EXEC sp_send_dbmail @profile_name='PinalProfile', _
@recipients='test@Example.com', @subject='Test message', _
@body='This is the body of the test message. _
Congrats Database Mail Received By you Successfully.' 

在完成输入参数的所有验证之后,将执行某些存储过程,并且邮件由 Service Broker 排队。 在 SQL SERVER - Service Broker 简介 中阅读更多内容。

数据库邮件保留传出电子邮件消息的副本,并在 sysmail_allitemssysmail_sentitemssysmail_unsentitemssysmail_faileditems 中显示它们。 发送邮件的状态可以在 sysmail_mailitems 表中看到。 当邮件成功发送后,sysmail_mailitems 表的 sent_status 字段设置为 1,这也可以在 sysmail_sentitems 表中看到。 失败的邮件的 sent_status 字段值为 2,未发送的邮件的值为 3。 可以在 sysmail_log 表中检查日志,如下所示

SELECT * FROM sysmail_mailitems GO SELECT * FROM sysmail_log GO 

可以使用 sysmail_sentitems 表验证状态。

发送邮件后,您可以检查收件箱中收到的邮件,就像我收到的那样,如下所示

请告诉我您对此教程的看法。

参考:Pinal Dave (http://www.SQLAuthority.com)

历史

  • 2008 年 9 月 3 日:初始帖子
© . All rights reserved.