已解决 提醒邮件中图片无法正常显示

禅道系统发送的图片无法正常显示了。

看html源码,应该是img标签的src地址写的有问题。

<img alt="" src="http://a23478655/zentaopms/www/index.php?m=file&f=read&t=png&fileID=704&onlybody=yes"/>

当前标签中缺失了上面粗体部分文字,因地址不完整导致图片不能正常显示。手动补齐上面的地址就正常了。

但不知道在服务器上哪个文件里修改,还请指点一下吧,谢谢!


禅道版本 9.8.3 源码包
操作系统 Windows 7
客户端浏览器 Chrome

提问者: godfrey 悬赏:5 日期: 2018-10-19 09:28:32 答案:1 点击:1764

获取技术支持

QQ: 电话:
设置备注
答案列表
2018/10/19

可以看下发信配置中,禅道域名是如何设置的?

2018/10/19
信息配置页面,禅道域名配置的内容是“http://a23478655"
2018/10/19
使用标准的域名试试呢,例如 www.abc.com
2018/10/23
这是内网的机器,没有标准域名。现在这个是计算机名。
2018/10/23
可以使用内网ip试试呢?
2018/10/23
改成ip也不行。img标签src里还是没有前面那段
2018/10/23
有修改过代码,或者安装过什么插件吗?
2018/10/23
都没有。我在看mail/model.php中的代码,感觉是send方法里面的正则把它给替换掉了,但是不知道如何打印出来,在运行的时候给我调试信息看。如果能指点下我看看打印信息,说不定能有新发现。
2018/10/23
我好像找到原因了。是因为我这个task源网页上面的img就不带全网址,导致zentaopms\module\message\model.php中sendMail方法在$mailContent = ob_get_contents();时,得到的图片就没有全网址。请问这个要怎么修改?直接打开任务页面时,图片是可以正常显示的。
难道要改task创建页面的逻辑,图片改为全网址保存?
2018/10/24
确认下该任务源页面上的图片,可以正常显示吗?
2018/10/24
源页面上图片是ok的,显示没有问题。看网页源码显示的是没有“http://a23478655"这段的。我现在把send前加一个处理,缺失的这段地址都加上,指派给别人的邮件就可以正常显示了。
2018/10/24
感觉问题是mail/model.php中send方法,如果异步发送打开了,进入方法体第二步就直接走异步发送流程了。下面对body的拼接,字符处理等动作都没有走到。在addQueue方法中也没有这段处理,导致队列中存储的body就有问题了。也许我把异步发信开关关掉,它也能好。
2018/10/24
我们确认下开启异步发信
2018/10/24
本地10.4版本测试,是可以的。
2018/10/25
好的。我这边还是9.8.3,大家觉得新界面不如老界面简洁,更喜欢用9.8.3,所以我们就没有升级。