历史版本41 :定时调度邮件通知 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

设置发件人和收件人,在定时任务完成后进行邮件提醒,发送邮件将结果告知收件人。

2. 操作步骤编辑

2.1 发件人设置

以管理员身份进入数据决策系统,点击管理系统>系统管理>邮箱,配置邮箱服务器,可参考 邮箱

如下图所示:

1.png

2.2 收件人设置

收件人设置就是指设置收件人邮箱;

收件人邮箱设置在 用户管理添加用户 的时候进行手动添加或者 用户同步数据集 时导入。

如下图所示:

9.png

2.3 定时发送邮件

2.3.1 添加任务

在数据决策系统中,点击管理系统>定时调度>添加任务,添加一个定时调度任务。如下图所示:

3.png

2.3.2 基本设置

填写「任务名称」为测试定时任务邮件通知,用户为本文 2.2 章节收件人test,点击确定。如下图所示:

4.png

2.3.3 调度对象

点击下一步,「选择模板」为 GettingStarted.cpt,「文件名称」为 ${now()}的${A1}汇总 ,「附件存档」勾选excel03excel07wordpdf,如下图所示:

7.png

2.3.4 调度周期

点击下一步,默认,不做修改。

2.3.5 文件处理

注:「收件人」和「抄送人」邮箱会按照用户选择的顺序在邮件中依次显示。

点击下一步,勾选邮件通知,抄送给本文 2.2 章添加的收件人;

主题为${today()}的${A1} ,邮件内容为${D3} ,勾选正文预览报表内容正文加上结果链接使用附件,点击保存

如下图所示:

8.png

注1:.cpr 文件是不会作为邮件的附件发送的,但是会在 schedule 对应的目录下生成 .cpr 格式的文件。

注2:邮件收件人支持自定义用户从 2019-05-20 日开始应用。

邮件通知设置如下:

  收件人  默认用户组
自定义邮箱(自定义邮箱支持多个邮箱,邮箱之间用「,」隔开)
  抄送、密送  选择平台用户
自定义邮箱(自定义邮箱支持多个邮箱,邮箱之间用「,」隔开)
  邮件主题、正文可自定义且支持公式

2.3.6 收到的邮件

如下图所示:

8.png

注:邮件以 HTML 显示,可复制内容。

3. 注意事项编辑

3.1 邮件正文空格显示问题

问题描述:

邮件正文内容中的多个空格被合并为一个,行首空格不显示。

解决方案:

邮件正文中若需在行首输入空格,或在行内连续输入多个空格时,要将这些空格替换为同等数量的「 」。如下图所示:

1571110858914828.png

3.2 结果链接无法正常跳转

问题描述:

设置定时任务发送邮件时,在「邮件通知」中勾选了正文加上结果链接,点击邮件中的结果链接,出现图一或图二的报错,报错内容:非常抱歉,您无法查看该页面

如下图所示:

28.png

原因:

可能是用户在「调度对象」步骤中勾选了任务结束即清理

解决方案:

取消勾选任务结束即清理,勾选仅保留最近一次仅保留最近5次不清理自定义中任意一个即可。

3.3 SMTP 服务器报错

问题描述:

定时任务发送邮件,收件人数量较多时,SMTP 服务器报错,报错内容中含 too many recipients 字样, 如下图所示:

01.png

原因:

平台负责将邮件信息(收件人、抄送、密送、主题、正文等)发送给 SMTP 服务器,由 SMTP 服务器根据这些信息发送邮件,平台本身并不进行实际邮件的发送;

造成该报错的实际原因为「收件人」或「抄送」或「密送」的邮箱数量超过了 SMTP 服务器的限制,不同的 SMTP 服务器所限制的数量可能不一样。

解决方案:

方案一:减少默认用户组中用户的数量,由于不同的 SMTP 服务器所限制的数量可能不一样,建议用户数量在 500 以内。

方案二:提高 SMTP 服务器对收件人的限制,需要客户方的 SMTP 服务器管理人员做修改,由于不同的 SMTP 服务器修改方式不相同,本文暂不提供修改方法。

3.4 迁移 FineDB 数据库后邮件发送失败

问题描述:

定时任务发送邮件,没有「运行监控」,也没有收到短信,后台报错:

couldn't store job:Packet for query is too large (35045785>4194304).You can change this value on the server by setting the max_allowed_packet' variable.

如下图所示:

12.png

原因:

用户将内置 FineDB 数据库迁移到本地 MySQL 数据库中,本地 MySQL 数据库中 max_allowed_packet 值设置过小导致单个记录超过限制后写入数据库失败,且后续记录写入也会失败。

解决方案:

方案一:

MySQL 安装目录下的「my.ini」文件中的 [mysqld] 段中的「max_allowed_packet = 1M」修改为 500M ,重启 MySQL 即可。

方案二:

1)使用 set global max_allowed_packet = 524288000;  语句将max_allowed_packet 的值设置为 500 M;

2)使用 show VARIABLES like '%max_allowed_packet%';  语句查看是否修改成功。

3.5 超时报错

问题描述:

定时调度发送邮件失败,报错如下所示:

com.fr.restriction.MemoryAlarmException:很抱歉,sql 执行时间过长触发保护机制,请稍后重试。若您是管理员,可于智能运维-内存管理-模板限制中更改此项限制。

解决方案:

关闭所有 模板限制