生龙活虎1986

导航

通过SQLServer的数据库邮件来发送邮件

 前段时间需要做一个发送邮件的功能,于是就花了一点时间研究了一下。发现通过SQLServer就可以发送邮件,只需要配置一下就可以了,而且配置过程很简单。下面来说一下配置过程:

        1、启用Database Mail XPs功能。

 

        查看Database Mail XPs功能是否打开,value为0说明没有打开,注意SQL Server早期版本是SQL MailXPs提供的发送邮件功能,而现在用的是Database Mail XPs来实现发送邮件。

SELECT  name ,
        value ,
        description ,
        is_dynamic ,
        is_advanced
FROM    sys.configurations
WHERE   name LIKE '%mail%'

 

 

 

         启动DatabaseMail XPs功能:

 

sp_configure 'show advanced options',1
go
reconfigure
go
 
sp_configure 'Database Mail XPs',1
go
RECONFIGURE
go

  

 

从结果可以看出value=1,说明已打开。

        2、配置数据库邮件

            1)、点开管理目录,右键“数据库邮件”,选择“配置数据库邮件”选项:

 

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

                 3)、默认选择第一项就可以,点击下一步:
 

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

 

            5)、输入账户名、说明,按照你的实际情况,输入:电子邮件地址、服务器名称,用户名和密码,必须要输入正确,否则就不能正确发送邮件。

       用户名和密码,就是登陆这个邮箱的用户名和密码,服务器名称是:smtp.163.com,端口号:默认25

 

 

            6)、选择‘“公共”,下一步

 

 
             7)、可以修改“配置系统参数”,比如账户重试次数,禁止的附件文件扩展名
 
 
          8)、单击完成按钮,显示配置成功:
 
 
 
            3、发送邮件,创建存储过程。
CREATE PROCEDURE send_dbMail
(
   @toPeople VARCHAR(256),
   @email_conetent VARCHAR(8000)
)
as
EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'db_mail',         --配置文件名称
    @recipients =  @toPeople,  --收件email地址
    @subject = '你好',                 --邮件主题
    @body = @email_conetent            --邮件正文内容

  

posted on 2018-06-30 14:41  生龙活虎1986  阅读(306)  评论(0编辑  收藏  举报