1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
10.0 | - |
10.0.18 | 第二章,在发件人账户的「加密方式」中,推荐用户选择TLS协议 |
1.2 功能简介
FineReport 支持邮件的接收和发送。不论是邮件的接收还是发送,都需要邮箱账户信息。
2. 邮箱设置
点击「管理系统>系统管理>邮箱」,可以设置发件人账户,可查询历史邮件,如下图所示:
「邮箱」各设置项说明如下表所示:
邮箱设置项 | 备注 |
---|---|
邮件服务器 | 下拉框选择邮件服务器,可自定义,格式为SMTP.邮箱后缀 注:如果邮箱为腾讯企业微信邮箱,请手动修改为 SMTP.exmail.qq.com |
端口和加密方式 | 默认不设置邮件服务的端口和加密方式,如需设置,请点击「端口和加密」按钮,自动展开。
注1:建议用户使用更安全的 TLS 协议。 注2:此处若设置加密方式,请确保加密的证书已加入 Java 证书受信任列表中,否则将导致客户端无法读取加密后的响应 |
发件人地址 |
注:发件人地址邮箱名中支持包含符号‘#’和‘&’ |
密码 | 大部分邮箱输入邮箱密码即可 QQ 邮箱和 163 邮箱需要填写「授权码」,详情请参见本文第三章 |
显示姓名 | 邮箱发件人的名称,可手动编辑填写 必填项,不填会导致在设计器里面发送邮件事件时,识别不到邮箱配置 |
发送测试邮件 | 测试邮件服务器是否配置成功 |
查询历史邮件 | 用户可根据收件人、模板名称、邮件发送日期等条件,查询系统发送出的历史邮件信息 |
测试邮件内容如下图所示,代表邮件服务器已配置成功,如下图所示:
注:「邮件正文」以 HTML 格式显示,部分字体不支持会显示为 SimSun 字体
不支持字体的具体特征为:字体名称中间含有空格、「-」等特殊符号,例如「Windding 3」。
3. 开启 POP3/SMTP 服务与生成授权码
POP3/SMTP 服务开启可以用客户端收发邮件,若没有开启可能导致邮箱配置失败。
目前配置发件人账号,若是 QQ 个人邮箱和 163 邮箱需要通过授权码来验证。
3.1 QQ 个人邮箱
登录 QQ 邮箱,点击「设置>账户」,找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务>开启服务>POP3/SMTP服务」,如下图所示:
点击「开启」,提示「验证密保」,按照提示发送短信,点击「我已发送」,验证成功即可。如下图所示:
验证完成后,提示「成功开启 POP3/SMTP服务」,「数据决策系统>邮箱>密码」一栏需填入「授权码」,而不是邮箱密码。如下图所示:
3.2 163 邮箱
登录 163 邮箱,点击「设置>POP3/SMTP/IMAP」,开启「POP3/SMTP服务」,如下图所示:
注:网易邮箱客户端无法进行该设置,请在网页端登录进行配置。
点击「开启」,提示「账号安全验证」,按照提示发送短信,点击「我已发送」,验证成功即可。如下图所示:
验证完成后,提示「成功开启 POP3/SMTP服务」,「数据决策系统>邮箱>密码」一栏需填入「授权码」,而不是邮箱密码。如下图所示:
注:该授权码仅显示一次,请牢记,以防日后需要。
3.3 QQ 企业邮箱
打开 QQ 企业邮箱,点击「设置>客户端设置」,找到「设置方法>发送服务器」。如下图所示:
由此得知,该邮箱使用 SSL 作为加密方法,端口号为 465。
点击「微信绑定」,绑定微信。如下图所示:
成功绑定微信后,需要「开启安全登录」。如下图所示:
开启后,须重新登录邮箱,无法使用原密码登录。网页版请使用微信扫码,客户端请使用「客户端专用密码」登录。
之后,点击「设置>微信绑定」,首先绑定微信。开启安全登录后,点击「客户端专用密码>生成新密码」,如下图所示:
管理员登录数据决策系统,点击「管理系统>系统管理>邮箱」。
点击「端口和加密」。输入端口:465。加密方式选择:SSL 加密。密码为上文获取的客户端密码。如下图所示:
发送测试邮件,发送成功。至此设置完成。
3.4 Outlook邮箱
1)用户登录 Outlook 邮箱,点击「设置>邮件>同步电子邮件」,开启 POP 服务,如下图所示:
2)开启后可看到服务器信息,如下图所示:
记录 SMTP 设置中的服务器名称,端口,加密方式等。
3)管理员登录数据决策系统,点击「管理系统>系统管理>邮箱」,配置邮箱,如下图所示:
3.5 Exchange 邮箱
1)在添加「发件人账户」前,请收集以下信息:
邮件服务器 (SMTP) :邮件服务器所在 IP 地址
发件人地址:Exchange 邮箱地址
密码:Exchange 邮箱地址的登录密码
2)管理员登录数据决策系统,点击「管理系统>系统管理>邮箱」,设置发件人账户。
3)填入提前收集的信息,加密方式选择「不加密」
4)配置完「发件人账户设置」后,点击「发送测试邮件」,填写一个收件人邮箱,点击「确定」。
收件人邮箱中收到测试邮件,内容为「恭喜您!您的邮件服务器已经配置成功」,代表邮件服务器已配置成功。
5)点击「保存」,该收件人添加成功
4. 注意事项
4.1 网络配置
使用邮箱需要确保报表工程和邮箱服务器之间可以连通。
1)使用外网的邮箱服务器,如 QQ 邮箱,163 邮箱等,需要保证工程能正常访问到外网。
2)使用用户自己的内网邮箱服务器,则无需连接到外网,保证报表工程和邮箱服务器之间连通即可。
4.2 未加入java受信任列表导致测试邮件发送失败
问题描述:
内网服务器上,使用 foxmail 发送 SSL 加密过的邮件没问题,使用 finereport 有问题。改成不加密25端口是可以发送出来的。
报错 "Could not connect to SMTP host: SMTP.fanruan.cn, port: 465, response: -1" 。
原因分析:
用户在内网自行搭建的邮箱服务器需要加入java证书信任列表,对于没有加入到java受信任列表中的证书是无法发送邮件的。其他的一些客户端例如 firefox 有自己的证书信任体系就可以正常发送。
解决方案:
将证书导入到 java 证书受信任列表即可。
4.3 反垃圾机制
日志报错:com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163
原因分析:这个报错是 163 邮箱服务器的反垃圾机制,把标题为test的测试邮件当作垃圾邮件了,导致发送失败。
解决方案:测试邮件不要写测试、test之类的字眼,可以发送成功,说明本身配置没有问题,只是服务器自身限制。
4.4 获取验证码出错
若在一分钟之内频繁发送邮件,会报错「获取验证码出错」,如下图所示:
一分钟之后继续发送即可。