金沙澳门唯一官网来机关发送邮件,数据库邮件

2019-12-02 18:42 来源:未知

 

SQL Server数据库邮件采纳 SMTP 服务器转载邮件,允许顾客配置数据库邮件,并通过存款和储蓄进程 msdb.dbo.sp_send_dbmail 向特定的客商发送邮件,邮件的格式能够是文本、Excel、或HTML。数据库邮件的最大用途是向数据库运转职员当即发送非常新闻,当数据库现身格外时,数据库系统能够在第有的时候间发送邮件布告数据库运营人士,那样便于尽快灭绝数据库运维的非凡情形,保险数据库能够健康、持续地提供劳动。 

能够行使SQL SE福特ExplorerVE奥迪Q3 来发送自动邮件,首倘诺选用SQL SE中华VVETucson 的dbo.sp_send_dbmail 存款和储蓄进程(在msdb数据库中)。

生龙活虎,配置数据库邮件

具体步骤如下:

安插数据库邮件时,首要布署八个目的:Account 和 Profile,数据库账户(Account)包罗SQL Server用于把邮件发送给SMTP 服务器的消息,包涵外发(outgoing)的邮件地址,显示名(Display Name)以致接收SMTP服务器地址;每三个account包涵一个SMTP 服务器。数据库邮件配置(Profile)是账户(Account)的安如太山聚焦,存款和储蓄进度 msdb.dbo.sp_send_dbmail 或SQL Server Agent 使用Profile发送邮件,并非直接行使Account。Profile提供邮件发送服务的机动故障转移(failover),由于二个Profile包括多少个Account,当第一个Account现身故障时,Profile自动使用持续的Account发送邮件,达成邮件发送的自行故障转移。当SMTP服务器改动时,DBA只须求改进Account,而无需改进Profile,使得编制程序越来越灵敏和有限支撑。

Step1: 编写要发送的邮件内容,然后调用sp_send_dbmail 存款和储蓄进度来发送邮件:

下边包车型客车示例图显示数据库邮件的配备:3个Account,2个Profile,每一种Profile都包罗2个Account,

declare @tableHTML varchar(max)

SET @tableHTML =

N'<style>

table { width:100%;}

table, th, td {

border: 1px solid black;

border-collapse: collapse;}

th, td {

padding: 5px;

text-align: left;}

th { background-color:#4682B4;

font-size:12.0pt;

font-weight:bold;

font-family:Arial ,sans-serif;

color :#ffffff;}

 tr { font-size:8.0pt;font-family:Arial,sans-serif;}'+

N'</style><H1 style="text-align:center">部门信息</H1>'+

N'<table align="center">'+

N'<tr><th width=20%" >部门编号</th>'+

N'<th width=40%>部门名称</th><th width=40%>上级部门名称</th>'+
N'</tr>'+
CAST((
select 
td=a.DepartID,'',
td=a.DepartName,'',
td=ISNULL(b.DepartName,'(NULL)'),''
from TTEM.dbo.EMOrgStructure a 

leftjoin TTEM.dbo.EMOrgStructure b on a.DepartParentID=b.DepartID

FORXMLPATH('tr'),TYPE

)ASNVARCHAR(MAX))+

N'</table>';
Exec dbo.sp_send_dbmail
@profile_name='DannyTest',
 @recipients ='V-Test@163.com',
 @subject='Test Stored Procedure Funtion of Sending Mails',
 @body=@tableHTML,
 @body_format ='HTML';

金沙澳门唯一官网 1

 

1,张开配置数据库邮件的开头

Step2: 实践完STEP1 的代码后就可以在收件箱中查见到刚才从SQL SE纳瓦拉VEENVISION自动发送的邮件了:

在SSMS的Management目录中,右击“Database Mail”弹出火速菜单,点击“Configure Database Mail”,张开数据库邮件配置向导 “Database Mail Configuration Wizard”,在向导分界面上,选拔“Set up Database Mail by performing the following tasks”选项,点击“Next”按键,开头布局数据库邮件:

 

金沙澳门唯一官网 2

金沙澳门唯一官网 3

2,成立数据库邮件配置(Profile)

   

在发送数据库邮件以前,必得制造数据库邮件的安顿(Profile),在布局中钦赐:邮件服务器(SMTP Server)的账户,三个数据库邮件配置能够包蕴多少个SMTP 账户,点击“Add”按键,增多SMTP Account:

Step3: 初次在MSDB 中调用sp_send_dbmail 时,大概不成功,那是因为数据库暗许未有启用和配置邮件功效,可参看如下步骤:

金沙澳门唯一官网 4

1,在SQL MANAGEMETN STUDIO 的“Management”---->"Database Mail"中打开安顿:首要时设置Profile Name,设置发送邮件的发送给旁人,发送邮件服务器等

3,配置SMTP账户

 

计划新增添长的SMTP Account,配置数据库邮件的出殡地址(E-mail Address)及其展现名称(Display Name),邮件服务器的地址(在Server Name中填入邮件服务器的U瑞鹰L,在Port Number中填写端口号),和身份验证(SMTP Authentication)消息:

金沙澳门唯一官网 5

金沙澳门唯一官网 6

 

在配置Account时,有两种SMTP验证情势,分别是Windows域账户申明、基本注明(客户名和密码)、无名氏验证,大繁多STMP服务器都供给账户登录,很稀有无名验证形式。

 

4,设置暗中认可的Profile

金沙澳门唯一官网 7

即使设置了私下认可的Profile,实施msdb.dbo.sp_send_dbmail 时没有必要@profile_name显式点名陈设行称:

更详细的配置可参看如下页面:

金沙澳门唯一官网 8

5,发送测验邮件

数据库邮件(Database Mail)自带有"Send Test E-Mail"和“View Database Mail Log”的功能,用来查阅Database mail的出殡和下葬意况。

 

金沙澳门唯一官网 9

 

 二,使用TSQL语句发送mail

 

1,使用 msdb.dbo.sp_send_dbmail 发送mail,由于设置了default profile,所以无需出示接受@Profile_Name来指定Profile。

 

EXEC msdb.dbo.sp_send_dbmail
    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    ,@body='test email body'
    --,@profile_name='default'

 

使用msdb.dbo.sp_send_dbmail也能发送HTML格式的mail,需求在参数@body_format钦定格式。
[ @body_format= ] '*body_format*'

 

暗许值是Text,表示发送的是邮件正文是text格式;HTML格式,能够使用HTML 标签

 

2,发送text格式的邮件

 

EXEC msdb.dbo.sp_send_dbmail
    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    ,@body='test email body'
    --,@profile_name='default_ProfileName'
    --,@body_format='text'

 

@Body_Format 参数的暗中认可值是Text

3,发送Html格式的mail

declare @htmlbody varchar(max)
set @htmlbody='<table>
<tr>
    <td>first row</td>
</tr>
<tr>
    <td>second row</td>
</tr>
</table>'

EXEC msdb.dbo.sp_send_dbmail
    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    ,@body=@htmlbody
    --,@profile_name='default_ProfileName'
    ,@body_format='Html'

4,将查询结果作为mail的body

仓库储存进度 msdb.dbo.sp_send_dbmail 能够进行四个select 查询子句,并将查询结果作为叁个附件发送出去。

EXEC msdb.dbo.sp_send_dbmail
    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    --,@profile_name='default_ProfileName'
    --,@body_format='text'
    ,@query='select * from db_study.dbo.test'
    ,@attach_query_result_as_file = 1

 

参照文书档案:

sp_send_dbmail (Transact-SQL).aspx)

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于数据库管理,转载请注明出处:金沙澳门唯一官网来机关发送邮件,数据库邮件