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发送邮件时, ...
随机推荐
- python 工具uv
以下是 Python 环境管理工具 uv 从入门到精通的系统性指南,基于 2025 年最新版本特性整理: 一.uv 核心优势与适用场景 极速性能 • 基于 Rust 开发,依赖解析速度比传统工具快 1 ...
- Unity Shader模板测试-描边
Unity Shader模板测试描边效果,常用于 rpg 项目中主角被遮挡的情况,将被遮挡的部分的轮廓描边绘制出来,这样可以在任何情况都能知道主角在哪里.(还有另外一种就是使用X光效果,但这种效果不需 ...
- MySQL 的乐观锁和悲观锁是什么?
MySQL 的乐观锁和悲观锁是什么? 在并发环境下,为了避免数据竞争和保证数据一致性,可以使用不同的锁策略.乐观锁和悲观锁是两种常见的并发控制机制,它们在锁定数据时的理念和实现方式上有显著区别. 1. ...
- Java虚拟机代码是如何一步一步变复杂且难以理解的?
有相关统计数据显示,Java开发者有1000万+,这么多的人每天都在使用Java虚拟机进行开发,不过真正看过虚拟机代码的人应该非常非常少吧,可能有些人研究过,不过由于Java虚拟机是一个高度复杂的系统 ...
- 精选 14 款 .NET 开源、功能强大的快速开发框架,提高开发生产效率、避免工作996!
前言 最近发现DotNetGuide技术社区微信交流群有不少小伙伴在问:.NET有哪些不错的快速开发框架推荐的? 选择一款全面且功能强大的快速开发框架能够帮助我们解决C#..NET项目中的很多重复工作 ...
- Cline技术分析:基于Cline Prompt的File Tools MCP Server实现
我们将基于Cline prompt技术,构建一个基于MCP协议的文件工具服务器.我们将从任务定义开始,并在任务执行过程中探讨各个关键环节. 任务提示词定义 1. 访问[hub.gitmirror.co ...
- Sentinel——系统规则(系统自适应保护)
目录 系统自适应保护 系统规则 系统自适应保护 Sentinel 系统自适应保护从整体维度对应用入口流量进行控制,结合应用的 Load.总体平均 RT.入口 QPS 和线程数等几个维度的监控指标,让系 ...
- 解析异步消息加上(→_→)@SuppressLint("HandlerLeak")
在主线程又Handler处理消息出现时这样写会有警告 private Handler handler = new Handler(){ @Override public void handleMess ...
- maven-helper解决依赖冲突
idea中可以使用maven-helper解决依赖冲突
- 【记录】Excel 2021|(三)VBA使用Selenium自动登录网页
文章目录 1 安装 Selenium Basic 2 下载webdriver 3 自动登录 1 安装 Selenium Basic 首先需要安装Selenium Basic,才能在工具栏中找到Sele ...