当前位置: 代码迷 >> Sql Server >> 数据库邮件使用发送邮箱的有关问题
  详细解决方案

数据库邮件使用发送邮箱的有关问题

热度:78   发布时间:2016-04-27 11:20:15.0
数据库邮件使用发送邮箱的问题?
我以前几个月都是使用QQ邮箱作为发邮箱帐户。最近一段时间老是收不到邮件,在outlook中检查QQ邮箱均收发正常,而在SQL Server发送测试邮件均告验证失败。换用163邮箱就正常了。看来还是QQ邮箱的问题。
我想弄明白问题的根源:SQLServer数据库邮件的机制就是SMTP,为什么数据库邮件不能发邮件而outlook可以?这里面的区别是什么?可否解决得了?

------解决方案--------------------
...
------解决方案--------------------
SQL code
1.首先要启用数据库邮件存储过程。具体操作如下:在“开始”菜单上,依次指向“所有程序”、Microsoft SQL Server 2005、“”,然后单击“SQL Server 外围应用配置器”。单击“功能的外围应用配置器”。在 MSSQLSERVER 下,展开“数据库引擎”,然后单击“数据库邮件”。确保选中“启用数据库邮件存储过程”,然后单击“应用”。退出 SQL Server 外围应用配置器工具。2。当启用数据库邮件存储过程成功以后。我们就要开始配置我们的数据库邮件配置文件了。具体操作如下:使用对象资源管理器,连接到配置了数据库邮件的 SQL Server 数据库引擎 实例,展开“管理”,右键单击“数据库邮件”,然后单击“配置数据库邮件”。这个时候会打开数据库邮件配置向导。按自己的需要配置即可。但是这里一点要记 住了自己的配置文件名。因为一会要在使用存储过程发送用到。很多人在这里多没有注意到用存储过程发送的时候就没有地方找了。3。现在我们就可以开始测试一下邮件的发送了。使用对象资源管理器,连接到配置了数据库邮件的 SQL Server 数据库引擎 实例,展开“管理”,右键单击“数据库邮件”,然后单击“发送测试电子邮件”。如果不存在数据库邮件配置文件,将通过一个对话框提示用户创建配置文件,同时还会打开数据库邮件配置向导。在“从 <实例名> 发送测试电子邮件”对话框中,从“数据库邮件配置文件”框中选择要测试的配置文件。在“收件人”框中,键入测试电子邮件收件人的电子邮件名称。在“主题”框中,键入测试电子邮件的主题行。更改默认主题,以便更好地标识电子邮件以进行故障排除。在“正文”框中,键入测试电子邮件的正文。更改默认主题,以便更好地标识电子邮件以进行故障排除。单击“发送测试电子邮件”,将测试电子邮件发送到数据库邮件队列。发送测试电子邮件将打开“数据库邮件测试电子邮件”对话框。请记下“发送电子邮件”框中显示的数字。这是测试电子邮件的 mailitem_id。单击“确定”。OK,我们到这里已经可以发送邮件。但是多是手动的。比较的麻烦。下面我讲下用存储过程来发送。实现实时(每隔一分钟检测一次,这个作业功能里可以设置)统计一个表的记录数,如果当天超过一定数量,(比如每天上限1W条符合条件的记录数)就发送邮件报警的作业脚本。我们先做一个这样的作业完成我们的自动发送工作。至于新建作业,我就不多说了。网上有好多这样的文章。现在我们在作业脚本上面编写代码:use vat   --自己的业务数据库declare @cnt intselect @cnt=count( *) from table where reqdate>CONVERT (char(10), getdate(), 120)   if @cnt>10000    --发送条件。具体的业务逻辑自己可以处理。begin--以下是使用MSSQL2005的邮件数据库功能,按微软的提示是只有2005会有这个功能use msdbEXEC sp_send_dbmail --调用SQL2005的邮件发送的存储过程。@profile_name = 'test', --就是在步骤2中的配置文件名。--调用发送邮件的存储过程,登录帐号必须有msdb的datamail权限@recipients = [email protected]',--用来接受邮件的地址@subject = '邮件测试',@body = '邮件测试成功!' end
------解决方案--------------------
遇到同样的问题,想借数据库邮件发内部邮件服务器,但不成功,外部邮箱可以
  相关解决方案