您的位置:首页 > 数据库

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

2012-05-29 17:01 489 查看


SQLSERVER2008配置DatabaseMail–用SQL数据库发邮件

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

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

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

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

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

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













































Step2)配置邮件:

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


GO


RECONFIGURE


GO


sp_CONFIGURE
'DatabaseMailXPs'
,
1


GO


RECONFIGURE


GO






Step3)发送邮件:

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

USE
msdb


GO


EXEC
sp_send_dbmail
@profile_name
=
'PinalProfile'
,


@recipients
=
'test@Example.com'
,


@subject
=
'Testmessage'
,


@body
=
'Thisisthebodyofthetestmessage.


Congrates
DatabaseMailReceivedByyouSuccessfully.'






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

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

如下所示,日志文件可以在sysmail_log表中查看

SELECT
*


FROM
sysmail_mailitems


GO


SELECT
*


FROM
sysmail_log


GO






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





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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: