配置SQL Server ,允许发邮件这里有两种方式一中是通过界面操作,一中是全代码操作。两种方式的结果是一样的,使用者可以先通过代码操作,在通过界面操作去查看
1代码操作
--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..sysmail_add_account_sp
@ACCOUNT_NAME ='ETLErrorMailLog', -- 邮件帐户名称
@EMAIL_ADDRESS ='******@qq.com' , -- 发件人邮件地址
@DISPLAY_NAME ='系统管理员', -- 发件人姓名
@REPLYTO_ADDRESS =NULL,
@DESCRIPTION = NULL,
@MAILSERVER_NAME = 'smtp.qq.com', -- 邮件服务器地址
@MAILSERVER_TYPE = 'SMTP', -- 邮件协议
@PORT =25, -- 邮件服务器端口
@USERNAME = '******@qq.com', -- 用户名
@PASSWORD = '******', -- 密码
@USE_DEFAULT_CREDENTIALS =0,
@ENABLE_SSL =0,
@ACCOUNT_ID = NULL
GO
--3.数据库配置文件
if exists(select name from msdb..sysmail_profile where name=N'ETLErrorProfileLog')
begin
exec msdb..sysmail_delete_profile_sp
@profile_name='ETLErrorProfileLog'
end
exec msdb..sysmail_add_profile_sp
@profile_name = 'ETLErrorProfileLog', -- profile 名称
@description = '数据库邮件配置文件', -- profile 描述
@profile_id = null
go
--4.用户和邮件配置文件相关联
exec msdb..sysmail_add_profileaccount_sp
@profile_name = 'ETLErrorProfileLog', -- profile 名称
@account_name = 'ETLErrorMailLog', -- account 名称
@sequence_number = 1 -- account 在 profile 中顺序
--5.发送文本测试邮件
exec msdb..sp_send_dbmail
@profile_name='ETLErrorProfileLog',
@recipients='*******@qq.com', --收件人
@subject='Test title this is test ',
@body=N'z中文邮件内容 中文邮件内容'
go
--6.其他的发送语句
--基本的发送语句
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '我数据库邮件测试成功了!',
@body = 'hello,world!'
--包含查询的
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '查询结果',
@query = 'select * from demo.dbo.orders',
--包含附件
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '包含附件',
@body = '有附件,请查收',
@file_attachments = 'c:a.txt'
--将查询作为附件
EXEC sp_send_dbmail @profile_name = 'xx_adam',
@recipients = 'xx_adam@263.com',
@subject = '查询结果',
@body = '查询结果在附件中',
@query = 'select * from demo.dbo.orders',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'a.txt'
1.界面配置 SQL Server 外围配置
2.设置基础账号
3.发送邮件