SQL SERVER - 2008 - 配置数据库邮件 - 从 SQL 数据库发送电子邮件
SQL SERVER - 2008 - 配置数据库邮件 - 从 SQL 数据库发送电子邮件
引言
在本文中,我将讨论数据库邮件,它用于使用 SQL Server 发送电子邮件。 之前我讨论过 SQL SERVER - 数据库邮件和 SQLMail 之间的区别。 数据库邮件是 SQLMail 的替代品,具有许多增强功能。因此,应该停止使用 SQLMail 并升级到数据库邮件。
为了在 SQL Server 中使用数据库邮件发送邮件,需要执行 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_allitems
、sysmail_sentitems
、sysmail_unsentitems
、sysmail_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 日:初始帖子