通过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)、弹出“数据库邮件配置向导”,单击下一步: ? ? ? ? ? ? ? ? 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 --邮件正文内容 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |