使用 SQL Mail 存储过程

SQL Mail 包含众多存储过程,这些存储过程可用于运行查询、将结果集返回到收件人列表或者答复包含简单查询或存储过程的电子邮件。

注意注意

后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。. 若要通过 SQL Server 发送邮件,请使用数据库邮件。

下表简要说明扩展过程及其使用方法。

SQL Mail 过程

功能

xp_startmail (Transact-SQL)

启动 SQL Mail。注意,使用 SQL Mail 的过程会在必要时启动 SQL Mail。

xp_stopmail (Transact-SQL)

停止 SQL Mail。

xp_findnextmsg (Transact-SQL)

默认情况下,在收件箱中查找最近传递的电子邮件并返回唯一消息 ID。sp_processmail 还可以使用它来处理 SQL Mail 收件箱中的邮件:xp_findnextmsg 接受输入的消息 ID,并将返回输出的下一条消息的消息 ID。

xp_readmail (Transact-SQL)

获取消息 ID 作为输入,并返回与消息相关的信息作为输出,如电子邮件的主题。(可以使用 xp_findnextmsg 生成此 ID。)此 ID 还将用于 sp_processmail

xp_deletemail (Transact-SQL)

获取消息 ID 作为输入,并从收件箱删除相关联的消息。(可以使用 xp_findnextmsg 生成此 ID。)此 ID 还将由 sp_processmail 使用。

xp_sendmail (Transact-SQL)

获取多个必需的参数(如收件人、消息、主题和查询),以便能够创建电子邮件。还可由 sp_processmail 使用,或者作为存储过程或触发器的一部分。它向指定收件人发送消息和查询结果集附件。

sp_processmail (Transact-SQL)

使用多个扩展存储过程(xp_findnextmsgxp_readmailxp_deletemail)来处理传入的邮件消息(应仅为单个查询),并使用 xp_sendmail 来将结果集返回到邮件发件人。必须将它设置为常规计划作业来检查 SQL Mail 收件箱中接收到的邮件。

安全说明安全说明

为提高安全性,您应该只允许 sysadmin 固定服务器角色的成员能够拥有所有 SQL Mail 存储过程和扩展存储过程的权限。

请参阅

概念