xp_startmail (Transact-SQL)

启动 SQL Mail 客户端会话。开始邮件会话将打开 MAPI 客户端组件并登录到电子邮件服务器。

注意注意

后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

主题链接图标Transact-SQL 语法约定

语法

xp_startmail [ [ @user= ] 'mapi_profile_name' ]
     [ , [ @password= ] 'mapi_profile_password' ] 

参数

  • [ @user=] 'mapi_profile_name'
    用于指定邮件配置文件名的可选参数。mapi_profile_name的数据类型为 sysname,无默认值。如果不提供此参数,将使用在 Microsoft Outlook 中配置的默认参数。

  • [ @password = ] 'mapi_profile_password'
    指定的 mapi_profile_name 的邮件密码。mapi_profile_password 的数据类型为 sysname,无默认值。在运行 xp_startmail 之前启动邮件客户端(位于同一计算机上)时,允许值 NULL。

返回代码值

0(成功)或 1(失败)

结果集

xp_startmail 返回下列消息:

SQL mail session started.

注释

如果提供了 mapi_profile_name 和 mapi_profile_password,则 SQL Server 尝试使用该配置文件名和密码登录到 MAPI 提供程序。如果提供的 mapi_profile_name 和 mapi_profile_password 不正确,将返回错误消息。如果未提供 mapi_profile_name 和 mapi_profile_password,则 SQL Server 将使用在**“SQL 邮件配置”**对话框中指定的配置文件名和密码。如果没有显式提供配置文件名或密码,SQL Server 将尝试使用默认的 MAPI 配置文件登录到 MAPI 提供程序。某些 MAPI 提供程序可能被配置为使用 Windows 身份验证,在这种情况下,将忽略 MAPI 密码。

注意注意

如果使用 xp_startmail 启动邮件会话,则可以选择提供登录名和密码,而不必在命令提示符下键入。但如果某个 MAPI 会话正在运行,则 SQL Mail 不会运行。该行为不同于 SQL Server 7.0 版和更早的版本。

如果已存在邮件会话,xp_startmail 将不启动新邮件会话。如果在运行 SQL Server 的同一计算机上使用邮件,则邮件客户程序必须在 xp_startmail 运行之前启动,或在 SQL Server 启动之前(如果 SQL Mail 配置为在 SQL Server 启动时自动启动)启动。

权限

要求具有 sysadmin 固定服务器角色的成员身份,但 EXECUTE 权限可以授予其他用户。不过,出于安全考虑,建议将此存储过程的权限仅授予 sysadmin 固定服务器角色的成员。

示例

以下示例使用在 Microsoft Outlook 中指定的用户名和密码(与 SQL Server 运行时使用的 Microsoft Windows 帐户的默认配置文件相同)来启动邮件。

USE master;
GO
EXEC xp_startmail;
GO