数据库邮件配置文件

数据库邮件配置文件是相关数据库邮件帐户的有序集合。若要发送邮件,您必须是 msdb 数据库中的 DatabaseMailUserRole 的成员,并且至少有权访问一个数据库邮件配置文件。配置文件使数据库管理员可以重新配置存储过程,并可以使用电子邮件的数据库应用程序而无需更改应用程序代码。例如,可以在开发和测试应用程序期间使用一组电子邮件帐户来配置配置文件,然后在生成应用程序时使用另一组帐户来更新该配置文件。应用程序将使用同一个配置文件名称,但使用另外一些电子邮件服务器来发送电子邮件。

注意注意

由于数据库邮件不使用邮件处理应用程序编程接口 (MAPI),因此数据库邮件配置文件不是 MAPI 邮件配置文件。数据库邮件不使用 SQL Mail 配置文件。

在电子邮件服务器无法访问或无法处理邮件的情况下,配置文件可提高可靠性。配置文件中的每个帐户都有一个序列号。该序列号确定了数据库邮件使用配置文件中的帐户的顺序。对于新的电子邮件,数据库邮件将使用最后一个成功发送邮件的帐户;如果尚未发送邮件,则使用序列号最小的帐户。如果该帐户失败,数据库邮件就使用序列号第二小的帐户,依此类推,直到数据库邮件成功发送邮件或者序列号最大的帐户失败为止。如果序列号最大的帐户失败,数据库邮件将暂停尝试发送邮件,暂停时间在 sysmail_configure_spAccountRetryDelay 参数中配置,然后从最小序列号再次开始尝试发送邮件的过程。使用 sysmail_configure_spAccountRetryAttempts 参数可以配置外部邮件进程尝试使用指定配置文件中的每个帐户发送电子邮件的次数。

如果多个帐户具有相同的序列号,则数据库邮件只对给定的电子邮件使用其中一个帐户。在此情况下,数据库邮件不能保证使用特定序列号的帐户,也不能保证对不同的邮件使用同一个帐户。

配置文件还有助于数据库管理员控制对电子邮件的访问。若要发送数据库邮件,必须具有 DatabaseMailUserRole 中的成员身份。配置文件使管理员可以更加灵活地控制谁来发送邮件以及使用哪些帐户。对于每个专用配置文件,数据库邮件将维护允许使用该配置文件发送电子邮件的用户列表。公共配置文件可由 msdb 数据库中同时还是 DatabaseMailUserRole 的成员的用户或角色使用。

默认情况下,配置文件是专用的,任何用户都没有权限访问该配置文件。若要将配置文件设为公共的,请向用户 public 或用户 ID 0 授予访问权限。有关授予对配置文件的访问权限的详细信息,请参阅 sysmail_add_principalprofile_sp (Transact-SQL)

配置文件可能是默认的配置文件。在此情况下,用户可以使用该配置文件发送电子邮件,而无需显式指定配置文件。如果发送电子邮件的用户具有默认的专用配置文件,则数据库邮件将使用该配置文件。如果用户不具有默认的专用配置文件,sp_send_dbmail 将使用数据库的默认公共配置文件。如果用户不具有默认的专用配置文件且数据库不具有默认的公共配置文件,sp_send_dbmail 将返回一个错误。在所有情况下,用户都必须是 DatabaseMailUserRole 的成员才能发送数据库邮件。