Exceptionless 5.x 无法正常发送邮件的问题解决
你有碰到过通过docker部署Exceptionless无法发送邮件的问题吗?此解决办法适用于Exceptionless 5.x版本(如果你不想升级6.x的话)。
1、问题起因
去年这个时候,得知Exceptionless 5.0版本发布,我立即将一直部署在Windows Server上的线上Exceptionless迁移到了Linux上。但是,期间发现按照wiki配置好Email却一直无法发送邮件,但由于不影响使用,我也就没有深究(其实还是懒),发布了一篇快速的部署Exceptionless 5.0的博文在博客园上并发出了求助,结果各个园友的帮助回答都没有解决我的问题。
近两个月发现容器化的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,希望可以帮到你。

Exceptionless 5.x 无法正常发送邮件的问题解决的更多相关文章
- 改用固定IP后zabbix无法发送邮件的问题解决
虚拟机之前一直用随机IP,然后发送邮件也正常. 改成固定IP以后,发送邮件失败. 用mail命令发送邮件成功. 查看zabbix_server的log,显示 cannot connect to SMT ...
- Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决
前言 今天, 博主将写了好久的一个Django小项目尝试在阿里云部署上线,由于项目中需要发送邮件,博主调用了163邮箱接口,在本地测试邮件功能正常,可是上线后,邮件功能一直超时崩溃.在百度一番查资料后 ...
- Laravel发送邮件配置-问题解决
MAIL_DRIVER=smtp MAIL_HOST=smtp..com MAIL_PORT= MAIL_USERNAME=phpfangzhan@@@@@.com MAIL_PASSWORD=*** ...
- ExceptionLess的安装、配置、使用
前言 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web API,Web Forms,WPF,Console,ASP.NET ...
- Jmeter + Ant + Jenkins 接口/性能测试,持续集成环境搭建
1. 安装Jmeter.jdk Jmeter 3.3版本 :<http://note.youdao.com/noteshare?id=5e3fd287db24d08386207a7de22d26 ...
- 【JavaWeb】通过邮件找回密码
前言 本文将介绍忘记密码时通过发送重置密码邮件找回密码的实现思路.整个实现过程中最重要的就是以下三点: 如何发送邮件到用户指定邮箱 邮件中的重置密码链接构成是怎么样的 验证重置密码链接的合法性(是否过 ...
- 【转】Kettle发送邮件步骤遇到附件名是中文名变成乱码的问题解决办法
原文:http://www.ukettle.org/thread-607-1-1.html 本帖最后由 大白菜 于 2016-3-7 10:18 编辑 导语:看到群里很多朋友问Kettle发送邮件附件 ...
- 使用django发送邮件时的连接超时问题解决
一.报错 研究报错半天,没看出代码有什么毛病,就是发送邮件时连接超时,发送邮件的连接用户名密码都没有错误,于是就网上各种查... 终于皇天不负有心人,找到答案了.. 在服务器上输入telnet smt ...
- Jenkins发送邮件中文乱码问题解决
在环境变量中添加: JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8 配置好后,重启Jenkins即可
- SQL Server 2014 Database Mail重复发送邮件特殊案例
在一数据库服务器(Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64))发现有个作业调用Database Mail发送邮件时, ...
随机推荐
- wrk
github.com/wg/wrk 是一个现代的 HTTP 基准测试工具.
- Java+Appium+Junit实现app自动化demo
1.新建maven工程和引入库 步骤参考https://www.cnblogs.com/wanyuan/p/16408758.html 2.编写代码 代码如下: import org.junit.Af ...
- springAPI对事物支持之XML式配置
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerData ...
- Spring解决创建单例bean,而存在线程不安全问题,的解决方案
一.线程安全问题都是由全局变量.静态变量和类的成员变量引起的.若每个线程中对全局变量.静态变量和类的成员变量只有读操作,而无写 操作,一般来说,这个全局变量是线程安全的,反之线程存在问题 二.因为Sp ...
- MySQL 中 AUTO_INCREMENT 列达到最大值时会发生什么?
在MySQL中,AUTO_INCREMENT列用于自动生成唯一的数字值,通常用于主键.当AUTO_INCREMENT列达到最大值时,会发生以下几种情况,具体取决于列的数据类型以及MySQL的配置. 对 ...
- 定时任务Cron表达式工具类Cron Util
依赖 cron-utils的github地址:https://github.com/jmrozanec/cron-utils <dependency> <groupId>com ...
- 解决 podman 容器无法在宿主机和容器内部相互访问问题的记录
解决 podman 容器无法在宿主机和容器内部相互访问问题的记录 近期在使用 podman 时,遇到了容器无法在宿主机和容器内部相互访问的问题.经过一番探索,参考了这篇文章,成功解决了该问题.在此,我 ...
- Git提交修正的核心技巧:git commit --amend 的专业实践与深度解析
结论先行 git commit --amend 是用于 修正最近一次提交 的高效工具,可修改提交信息.追加遗漏文件或调整代码内容,避免冗余提交记录,保持提交历史的简洁性.适用于本地未推送的提交修复场景 ...
- xamarin.forms+prism 实现DialogService(对话框服务)
Getting Started with IDialogAware Creating dialogs with the DialogService requires a ViewModel that ...
- 各式各样的console
目录 知乎的console 百度的console B站的console 知乎的console 我很喜欢hire的文字样式. _____ _____ _____ _____ /\ \ /\ \ /\ \ ...