博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排坑 | Exceptionless 5.x 无法正常发送邮件
阅读量:4035 次
发布时间:2019-05-24

本文共 1729 字,大约阅读时间需要 5 分钟。

【问题解决作者 / Edison Zhou

这是恰童鞋骚年的第282篇原创内容


你有碰到过通过docker部署Exceptionless无法发送邮件的问题吗?此解决办法适用于Exceptionless 5.x版本(如果你不想升级6.x的话)。

1问题起因

去年这个时候,得知Exceptionless 5.0版本发布,我立即将一直部署在Windows Server上的线上Exceptionless迁移到了Linux上。但是,期间发现按照wiki配置好Email却一直无法发送邮件,但由于不影响使用,我也就没有深究,发布了一篇快速的的博文在博客园上并发出了求助,结果各个园友的帮助回答都没有解决我的问题。

近两个月发现容器化的Exceptionless的账号没有经过验证,经常两三周账号数据就会丢失,于是就花了一点时间排查了一下。想着肯定有人跟我碰到了同样的问题,于是直接去github上搜了搜issue,果然有很多chinese friends都提了问题,但是大家的描述都不到位,终于找到了两个issue和我问题比较match,于是尝试了大家给的办法并且验证可行,所以也分享给大家。

2问题描述与解决

无法发送验证邮件

我们应该都看过Exceptionless的wiki文档上介绍,通过docker-compose.yml中为api和job两个服务配置一下这个参数配置就可以发送邮件:

EX_ConnectionStrings__Email: smtps://itc-dev%40qq.com:your-password@smtp.qq.com:465

其中,smtps代表使用SSL安全协议,itc-dev%40qq.com是我的账号名,其中%40是转义字符,代表@号,即itc-dev@qq.com。

但是通过docker-compose up -d启动起来之后,你会发现所有服务都正常,但就是在“My Account”页面中点击发送验证邮件始终无法收到验证邮件。通过查看logs发现Mailkit报错,通过查询issues中了解到,如果不想改代码的话就需要额外再配置一个参数EX_SmtpFrom(给api和job项目都配置一下):

EX_ConnectionStrings__Email: smtps://itc-dev%40qq.com:your-password@smtp.qq.com:465EX_SmtpFrom: itc-dev@qq.com

这个EX_SmtpFrom是你需要通过SMTP协议登录的发送者邮箱,这里不再需要转移字符了,直接配置上即可。

重新启动,你会发现,你可以收到验证邮件了。

更多细节,请参考:https://github.com/exceptionless/Exceptionless/issues/545

点击验证邮件链接无法真正验证邮箱

前面收到了邮件链接,我想终于可以激活了我的账号邮箱了,结果没想到通过验证链接过去还是没有真正激活我的账号。于是,我又去issue里面找了一下,发现需要更改一下BASE_URL的配置(也是同样给api和job项目都配置一下):

EX_BaseURL: http://192.168.16.180:5100/#!

原配置:EX_BaseURL: http://192.168.16.180:5100,需要加上 /#! 符号,因为如果你没有使用url重写,需要给BaseURL加上这个符号。后续6.x版本应该已经解决了这个问题了,但是5.x版本应该还是存在。

更多细节,请参考:

https://github.com/exceptionless/Exceptionless/issues/295

3启用邮件之后

每日项目简报

Exceptionless的强大之后就在于它提供了这个功能,对于线上环境特别有用。

呼呼,我一般只选择通过我严重错误。

新的异常错误通知

对于线上环境,一些可以避免的异常及时通知,可以帮助我们尽早在下个版本发布前修正。

4小结

如果你也在用Exceptionless 5.x,希望可以帮到你。

专注于开发技术与个人成长分享,

对你有用的公众号!

转载地址:http://qrzdi.baihongyu.com/

你可能感兴趣的文章
Spring事务的七种传播行为
查看>>
ES写入找不到主节点问题排查
查看>>
Java8 HashMap集合解析
查看>>
ArrayList集合解析
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
Android计算器实现源码分析
查看>>
Android系统构架
查看>>
Android 跨应用程序访问窗口知识点总结
查看>>
各种排序算法的分析及java实现
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
js弹窗插件
查看>>
自定义 select 下拉框 多选插件
查看>>
js判断数组内是否有重复值
查看>>
js获取url链接携带的参数值
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>
arm linux 生成火焰图
查看>>
jtag dump内存数据
查看>>
linux和windows内存布局验证
查看>>
linux config
查看>>