通过SQL Server,也可以发送邮件,而且配置过程也是非常的简单,只需要你有邮箱就行。
下面就通过SQL Server来发送邮件。
一、启用Database Mail XPs功能。
查看Database Mail XPs功能是否打开,从返回结果来看,value为0说明没有打开,注意SQL Mail XPs是SQL Server早期版本提供的发送邮件功能,而现在用的是Database Mail XPs来实现发送邮件。
?
|
1
2
3
4
5
6
7
8
9
10
11
12
select
name
,
???????
value,
description,
is_dynamic,
is_advanced
from
sys.configurations
where
name
like
'%mail%'
启动Database Mail XPs功能:
9
sp_configure
'show advanced options'
go
reconfigure
go
?
'Database Mail XPs'
go
reconfigure
go
二、配置数据库邮件
1、点开管理目录,右键“数据库邮件”,选择“配置数据库邮件”选项:

?
2、弹出“数据库邮件配置向导”,单击下一步:

3、选择“通过执行以下任务来安装数据库邮件”选项,单击下一步:

4、输入“配置文件名”,这里我输入的是:db_mail,然后单击右侧的“添加”按钮:

5、输入账户名、说明,按照你的实际情况,输入:电子邮件地址、服务器名称,用户名和密码,必须要输入正确,否则就不能正确发送邮件。
比如我的邮箱地址是:xbase100@163.com,用户名和密码,就是登陆这个邮箱的用户名和密码,服务器名称是:smtp.163.com

6、填写完成后,单击下一步:

7、在“公共”选项打上勾,单击下一步:

8、可以修改“配置系统参数”,比如账户重试次数,禁止的附件文件扩展名,单击下一步:

9、单击完成按钮。

10、显示配置成功。

三、发送邮件。
?
12
13
DECLARE
@email_conetent
VARCHAR
(8000);???
?
SELECT
?
@email_conetent =
'你的数据库,共有:'
+
cast
(
COUNT
(*)
as
varchar
)? +
'个表!'
?
FROM
sys.tables;??
?
?
?
EXEC
msdb.dbo.sp_send_dbmail
????
@profile_name =
'db_mail'
--配置文件名称
@recipients =
'abc@163.com'
--收件email地址
@subject =
'你好'
--邮件主题
@body = @email_conetent???????????
四、查看数据库邮件日志。
右键“数据库邮件”,选择“查看数据库邮件日志”:

五、登陆邮箱验证邮件是否发送成功。
登陆163的邮箱,看到有新的邮件:

打开邮件,看到的邮件内容:

说明:其实很多场景下,直接使用SQlServer存储过程或者触发器来发报警邮件最为快捷方便,这里记录一下。测试可用。测试环境:SQLServer2012。不过在使用过程中要注意账号配置那里,是否要使用SSL加密,smtp地址,端口号,这些一定要设置正确。建议现在Outlook上测试好了再过来用。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!