奥威软件交流社区

如何通过邮件定时发送报表

2011-4-15 16:01
51251
前言Reporting Services的邮件订阅,总不是很听话,时不时会出些问题,特将自己遇到的问题和解决的方法,集中在这里,以后再遇到类似问题,就方便多了,当然希望能够方便更多的人。
说明:本文所有配置及问题,都基于Reporting Servicessmtp都在同一个服务器上,smtp用的是IIS自带的,某些问题产生的原因可能不只一个。
1、
reporting services配置管理器的“电子邮件设置”选项卡中配置好
发件人地址: xyztony1985@163.com(随意,只要是合法的email地址就行)
当前传递方法:
使用 SMTP 服务器
SMTP服务器: localhost

如图:
yy.jpg
2、
进入报表管理器页面,选择一张报表在“管理“页面的“订阅”选择卡中可以新建订阅或新建数据驱动订阅。
新建订阅界面如下:
y2.jpg
传递方式选择“电子邮件”,然后指定计划即可。
新建数据驱动订阅界面如下:
y3.jpg
指定通知收件人的方式为“电子邮件”,然后单击下一步逐一配置。
前面一种订阅只能手动指定收件人。若收件人地址保存在数据库中则可以采用后种,可以指定数据集中表示发件人地址的某一个字段如下图:
y4.jpg
问题:一个或多个收件人的电子邮件地址无效
原因:
解决:IIS -> SMTP属性 -> 中继限制,选仅以下列表除外

问题:无法发送邮件: 邮件无法发送到 SMTP 服务器。传输错误代码为 0x800ccc63。服务器响应为 501 command argument is not acceptable
原因:Simple Mail Transfer Protocol (SMTP) 此服务未启动。
解决:启动SMTP服务,若不能启动,检查默认端口号25是否被占用。

问题:SQL 代理服务未运行。此操作需要 SQL 代理服务。 (rsSchedulerNotResponding) 获取联机帮助
原因:SQL 代理服务未启动。
解决:启动SQL 代理服务。

问题:452 4.3.1 Out of memory
原因:未知
解决:未知

问题:Reporting Services已经提示邮件发送成功,邮箱却始终都收不到信。
原因:发件人地址不符合邮箱提供商的规范,被退信了。(我设置发件人地址太随便了,用了xx@local.com
解决:规范发件人地址格式。
这个问题困扰了好几天,后来是这样找到原因的:
1、在IIS中,查看SMTP的域的投递目录,默认为:C:\Inetpub\mailroot\Drop
2、在投递目录下,看到几个扩展名为.eml的文件;
3、用记事本打开其中一个eml文件,在3538行,看到以下信息:
Final-Recipient: rfc822;xyztony1985@163.com
Action: failed
Status: 5.5.0
Diagnostic-Code: smtp;550 MI:SPF mx13,P8CowJD7T94EmX1NiLwwFg--.1730S2 1300076804 http://mail.163.com/help/help_spam_16.htm?ip=&hostid=mx13&time=1300076804
可以知道投递失败了,错误代码是550,打开上面163那个网址,可以查到相关退信信息,比如发生550错误的几种情况。
1. 你可能会疑惑,这里为什么不需要配置密码?这是因为,不需要。因为报表服务是通过自己的服务帐号去连接SMTP服务器(以及进行登录),只不过发邮件的时候,是以你上面指定的发件人地址作为显示的。这个其实不难理解的,我们自己写一个邮件程序也大抵如此。
所以,关键就在于,要让当前报表服务器的启动帐号,具有SMTP服务器的访问权限
2. 这里能不能使用外部的SMTP服务器?我想是不可以的。你想想吧,你怎么让你的windows帐号去登录外部的SMTP服务器呢?那么有的朋友就有意见了,说我就是想那么做呢?好吧,如果你愿意,你可以自己写一个DeliveryExtension。至于怎么写Extension,你可以参考
C:\Program Files\Microsoft SQL Server\100\Samples\Reporting Services\Extension Samples\PrinterDelivery Sample。这是一个范例。
分享到 :
0 人收藏

1 个回复

倒序浏览
GreenBI.Ming  版主 | 2011-4-15 16:33:56
UP
您需要登录后才可以回帖 登录 | 注册

本版积分规则

奥威软件|联系奥威|新手须知| ( 粤ICP备09215901号-2   

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部