Transact-SQL 参考

xp_startmail

启动 SQL 邮件客户端会话。

语法

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

参数

[@user =] 'mapi_profile_name'

是可选参数,指定邮件用户名。mapi_profile_name 的数据类型为 sysname,无默认值。

[@password =] 'mapi_profile_password'

是指定的 mapi_profile_name 的邮件密码。mapi_profile_password 的数据类型为 sysname,没有默认值。如果在运行 xp_startmail 之前,已在同一台计算机上启动了邮件客户程序,则允许使用 NULL 值。

返回代码值

0(成功)或 1(失败)

结果集

xp_startmail 返回下列消息:

SQL mail session started.
注释

如果提供了 mapi_profile_namemapi_profile_password,Microsoft® SQL Server™ 将尝试使用该用户名和密码登录到 Windows NT Mail(或者其它 MAPI 提供程序)上。如果提供的 mapi_profile_namemapi_profile_password 不正确,将返回错误信息。如果没提供 mapi_profile_namemapi_profile_password,SQL Server 将使用在"SQL Server 属性"对话框中指定的用户名和密码。如果没有显式提供用户名或密码,SQL Server 将尝试使用默认的 MAPI 配置文件登录到 MAPI 提供程序。某些 MAPI 提供程序可能被配置为使用 Windows 身份验证,在这种情况下,将忽略 MAPI 密码。

说明  如果使用 xp_startmail 启动邮件会话,则可以选择提供登录名和密码,而不必在命令提示符下键入。然而,如果有一个现有的 Windows NT Mail 客户端会话正在运行,SQL 邮件将不会寄生在该会话上。该行为不同于 SQL Server 7.0 版和更早的版本。

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

权限

xp_startmail 的执行权限默认授予 master 数据库中的 db_owner 固定数据库角色成员以及 sysadmin 固定服务器角色成员,但可以授予其他用户。

示例
A. 不带变量地使用 xp_startmail

下例使用 SQL Server 安装过程中指定的用户名和密码启动邮件。

USE master
EXEC xp_startmail
B. 对 xp_startmail 使用变量

下例使用用户名 janetl 和密码 abc12345 启动邮件。

USE master
EXEC xp_startmail 'janetl', 'abc12345'

请参见

sp_processmail

配置邮件配置文件

系统存储过程(SQL 邮件扩展过程)

xp_deletemail

xp_findnextmsg

xp_readmail

xp_sendmail

xp_stopmail