SQLserver 自带的邮件发送功能,可以很方便将数据库中的信息发送给相关人员。如 可以结合监控事件将警告信息发给管理人员,可以结合作业定时发送报表给相关人员等。
数据库邮件配置很简单,以下以图文配置:
1. 管理——数据库邮件(右键)——配置数据库邮件
2. 打开数据库邮件配置向导,选择第一个“通过执行以下人物来安装数据库邮件”
3. 首先“新建配置文件”,填写“配置文件名”,再点击 添加 SMTP账户
4. 创建邮件账户
帐户名:数据库中看到的邮件账户名称
说明:(可选项)
电子邮件地址:数据库中发送电子邮件的电子邮件地址。
显示名称:此帐户发送的电子邮件上显示的名称。 (可选项)
答复电子邮件:当收件人回复数据库中的邮件时,回复将发送到该账户中。 (可选项)
服务器名称:发送电子邮件所用的 SMTP 服务器的名称或 IP 地址。 通常此格式类似于 smtp.<your_company>.com。
端口号:此帐户的 SMTP 服务器的端口号。 大多数 SMTP 服务器使用端口 25。
此服务器要求安全连接(SSL):使用安全套接字层加密通信。
使用数据库引擎服务凭据的Windows 身份验证:使用为 SQL Server 数据库引擎服务配置的凭据生成指向 SMTP 服务器的连接(如局域网内部署有SMTP 服务器)。
基本身份验证:指定 SMTP 服务器要求的用户名和密码(使用外部的SMTP 服务器)。
用户名:登录 SMTP 服务器所用的用户名。
密码:登录 SMTP 服务器所用的密码。
确认密码:再次输入密码以进行确认。
匿名身份验证:在没有登录凭据的情况下,将邮件发送至 SMTP 服务器(如局域网内部署有SMTP 服务器)。
5. 选择“公共配置文件”
公共配置文件对 msdb 数据库中的DatabaseMailUserRole 数据库角色的所有成员都可用。它们允许 DatabaseMailUserRole 角色的所有成员使用该配置文件发送电子邮件。
专用配置文件为 msdb 数据库中的安全主体而定义。它们仅允许指定的数据库用户、角色和 sysadmin 固定服务器角色的成员来使用该配置文件发送电子邮件。
6. “配置系统参数”
7. 接下来一步步点击确定完成!~
8. 现在开始测试!~管理——数据里邮件(右键)——发送测试电子邮件
9. 填写“收件人”的电子邮件,点击 “发送测试电子邮件”
10. 测试邮件很快收到了,成功!~O(∩_∩)O~
现在以SQL脚本配置邮件:
--1.启用数据库邮件 exec sp_configure 'show advanced options',1 reconfigure with override go exec sp_configure 'database mail xps',1 reconfigure with override go --2.创建邮件帐户 exec msdb.dbo.sysmail_add_account_sp @account_name = N'kk_139', --帐户名 @description = N'user kk', --说明 @email_address = N'*******[email protected]',--邮件地址 @display_name = N'AD08', --显示名称 @replyto_address = N'*****[email protected]', --答复电子邮件 @mailserver_type = N'smtp', --邮件协议 @mailserver_name = N'smtp.139.com', --邮件服务器名称 @port =25, --邮件服务器端口 @enable_ssl =0, --是否加密 @use_default_credentials =0, --身份验证模式 @username = N'*******[email protected]', --用户名 @password = N'************', --密码 @account_id = null go --3.创建配置文件 exec msdb.dbo.sysmail_add_profile_sp @profile_name = N'DefaultProfile', --新配置文件的名称 @description = N'默认配置文件', --新配置文件的说明(可选) @profile_id = null go --4.帐户与配置文件关联 exec msdb.dbo.sysmail_add_profileaccount_sp @profile_name = N'DefaultProfile', --配置文件名称 @account_name = N'kk_139', --帐户名称 @sequence_number = 1 --顺序 go --5.发送邮件 exec msdb.dbo.sp_send_dbmail @profile_name = N'DefaultProfile', --profile名称 @recipients = N'*****[email protected]', --收件人 @subject = N'数据库邮件测试', --邮件标题 @body = N'AD08 上的测试电子邮件。' --邮件内容 go --删除配置文件 EXEC msdb.dbo.sysmail_delete_profile_sp @profile_name=N'DefaultProfile', @force_delete=True --删除账户 EXEC msdb.dbo.sysmail_delete_account_sp @account_name=N'kk_139' --相关查询 exec msdb.dbo.sysmail_help_profile_sp exec msdb.dbo.sysmail_help_account_sp exec msdb.dbo.sysmail_help_profileaccount_sp exec msdb.dbo.sysmail_help_configure_sp select * from msdb.dbo.sysmail_account select * from msdb.dbo.sysmail_profile select * from msdb.dbo.sysmail_profileaccount select * from msdb.dbo.sysmail_configuration select * from msdb.dbo.sysmail_allitems select * from msdb.dbo.sysmail_event_log
参考: