上篇文章讲了如何 使用docker部署datart后,由于需要使用邮件功能,所以查看官方的邮件相关配置
由于我只有一个data.conf文件,于是我给邮件的配置直接放在data.conf里,先给官方提供的节点转为行节点就是下面这个配置:
spring.mail.host=【邮件域名】
spring.mail.port=【邮件端口号】
spring.mail.username=【邮件发送人】
spring.mail.fromAddress=
spring.mail.password=【发送人密码】
spring.mail.senderName=【发送人名称】
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.ssl.enable=true
data.conf整体的配置如下:
# this file has the highest priority, if val is not blank, then will replace the config
# datasource config
datasource.ip=【数据库地址】
datasource.port=【端口号】
datasource.database=【库名】
datasource.username=【账号】
datasource.password=【密码】
# server
server.port=8080
server.address=0.0.0.0
# datart config
datart.address=http://127.0.0.1
datart.send-mail=false
datart.webdriver-path=http://127.0.0.1:4444/wd/hub
datart.user.register=true
# 注册邮件有效期/小时, 默认48小时
datart.register.expire-hours=
# 邀请邮件有效期/小时, 默认48小时
datart.invite.expire-hours=
# 租户管理模式:platform-平台(默认),team-团队
datart.tenant-management-mode=platform
spring.mail.host=【邮件域名】
spring.mail.port=【邮件端口号】
spring.mail.username=【邮件发送人】
spring.mail.fromAddress=
spring.mail.password=【发送人密码】
spring.mail.senderName=【发送人名称】
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.ssl.enable=true
然后保存配置文件,重启datart即可生效
重启命令:docker restart datart
在配好邮件配置后,系统里配置定时任务及推送邮件遇到的问题如下:
问题1:配好定时任务后点击立即执行发现执行正常但是没有邮件
通过查看容器日志发现请求http://127.0.0.1:4444拒绝,查看官方配置注释这个配置为发送邮件启用了图片截图,不知道是不是服务器确实谷歌浏览器相关的服务导致图片不生效,但是主要功能是发送邮件,于是给图片勾选去掉后再立即执行,邮箱收到邮件
问题2:定时任务启动自动执行后,不同账号给关了自动执行,然后再启动自动执行报错已存在相关的执行任务
刚开始以为有重复的定时任务,于是给回收站的相同任务全删了,后面发现还是不行,进容器查看日志发现历史里有一个报错,名称已存在,于是给定时任务的名称修改了一下保存再点立即执行正常了
问题3:收到的邮件发送人乱码
这个问题百思不得其解,于是我给data.conf配置的发送人senderName由中文改为英文试试,结果就显示正常了,由此发现我部署的这个版本邮件发送人不支持中文