SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –SQL数据库发邮件

原文来自:http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/August 23, 2008bypinaldave

今天这篇文章我们来讨论database mail,也就是用SQL server发邮件的问题。关于SQL Serverdatabase mailSQLMail的区别请参考SQL SERVER – DifferenceBetweenDatabase Mail andSQLMail.Database Mail代替了SQLMail的功能并有很大改进,所以非常建议放弃SQL Mail将其升级到Database Mail.在此特别对软件开发工程师Monica致谢,感谢他为本文制作了题材广泛的测试和图片。

使用SQL Server发送电子邮件邮件需要三个基本配置步骤

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

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

您需要创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。可以使用此向导来管理帐户、 配置文件和数据库邮件的全局设置,如下所示:

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

Step 2)配置邮件:

在完成账户和配置文件创建之后,我们需要配置Database Mail.为了配置它,首先需要通过sp_configure存储过程,启用database mail XPs参数,如下所示:sp_CONFIGURE'showadvanced',1
GO
RECONFIGURE
GO
sp_CONFIGURE'DatabaseMailXPs',1
GO
RECONFIGURE
GO

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

Step 3)发送邮件:

如上所有配置完成之后,我们就可以发邮件了,执行存储的过程的sp_send_dbmail,并提供所需的参数,如下所示:

USEmsdb
GO
EXECsp_send_dbmail@profile_name='PinalProfile',
@recipients='[email protected]',
@subject='Testmessage',
@body='Thisisthebodyofthetestmessage.
CongratesDatabaseMailReceivedByyouSuccessfully.'

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

输入参数的所有验证都完毕后,邮件将在Service Broker中排序等待。关于这一点,更多信息请参见SQL SERVER – Introduction to ServiceBroker.

Database Mail将保留发出的电子邮件的副本,我们可以通过sysmail_allitems,sysmail_sentitems,sysmail_unsentitems,sysmail_faileditems来查询。邮件的发送状态将保存在sysmail_mailitems表中,成功发送时,该表中sent_status栏目将显示为1;发送失败时,sent_status栏目将显示为2,未发送时为3
如下所示,日志文件可以在sysmail_log表中查看

SELECT*
FROMsysmail_mailitems
GO
SELECT*
FROMsysmail_log
GO

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

发送状态可以在sysmail_sentitems表中验证.

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

发送之后就可以在收件箱查阅邮件了,如下图所示是作者收到的邮件

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

你可能感兴趣的:(sql,server,2008)