Jenkins配置QQ邮箱发送邮件
1.登陆QQ邮箱

2. 在“帐户”里开启“POP3/SMTP”并获取授权码

3. 发送短信验证验证后得到下面验证码

aeoygabszxfecbdj #验证吗
点击确定之后,服务已经开启

4. Jenkins配置
在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数

上面这一步一定要进行配置,否则虽然验证成功,但是无法发送邮件

如果不填验证密码。会报如下错误
com.sun.mail.smtp.SMTPSenderFailedException: Error: need EHLO and AUTH first !
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:)
Caused: com.sun.mail.smtp.SMTPSendFailedException: Error: need EHLO and AUTH first !
;
nested exception is:
com.sun.mail.smtp.SMTPSenderFailedException: Error: need EHLO and AUTH first !
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:)
at javax.mail.Transport.send0(Transport.java:)
at javax.mail.Transport.send(Transport.java:)
at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:)
at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:)
at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:)
at org.kohsuke.stapler.MetaClass$.doDispatch(MetaClass.java:)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:)
at org.kohsuke.stapler.MetaClass$.doDispatch(MetaClass.java:)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:)
at org.kohsuke.stapler.Stapler.service(Stapler.java:)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at hudson.util.PluginServletFilter$.doFilter(PluginServletFilter.java:)
at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:)
at hudson.util.PluginServletFilter$.doFilter(PluginServletFilter.java:)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:)
at hudson.security.ChainedServletFilter$.doFilter(ChainedServletFilter.java:)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:)
at org.eclipse.jetty.server.Server.handle(Server.java:)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:)
at org.eclipse.jetty.io.ChannelEndPoint$.run(ChannelEndPoint.java:)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:)
at org.eclipse.jetty.util.thread.QueuedThreadPool$.run(QueuedThreadPool.java:)
at java.lang.Thread.run(Thread.java:)
5. 验证成功后配置

Build写入不能构建任务,点击构建,构建失败

6. 验证邮件

邮件内容

Jenkins配置QQ邮箱发送邮件的更多相关文章
- jenkins配置QQ邮箱自动发送RF测试构建结果通知邮件
声明:转载请注明出处,谢谢 首先确认QQ邮箱SMTP服务器的地址和端口号.如下图所示,请谨记,JENKINS全局邮箱配置需要使用: 步骤1:开启QQ邮箱的smtp服务:登陆QQ邮箱-设置-账户-开启P ...
- Python Django 配置QQ邮箱发送邮件
一.实验环境 Python2.7 + Django1.10.0 二.获取QQ邮箱授权码 1.什么是授权码? 授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码. 适用于登录以下服务:POP3/IM ...
- Django 配置 qq 邮箱发送邮件
目录 一.实验环境 二.获取QQ邮箱授权码 1.什么是授权码? 2.怎么获取授权码? 三.Django中配置 setting.py中添加如下代码 文本邮件 HTML 邮件 一.实验环境 Python3 ...
- flask配置qq邮箱发送邮件
1.第三方登录qq邮箱不是使用邮箱密码,而是使用独立的授权码: 2.开始在python程序中使用os.environ.get()一直无法获取到环境变量,即使是用source命令重新加载配置文件后使用e ...
- mialx配置qq邮箱发送邮件
#send mail use mailx(v12.0.4)#edit configure file set smtp-use-starttlsset from=xxxxxxxxx@qq.comset ...
- jenkins 配置qq邮箱
- 杂项之使用qq邮箱发送邮件
杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...
- SpringBoot使用qq邮箱发送邮件
最近公司要做一个邮箱注册和重置密码的功能,因为之前就做过,但是不是Springboot项目,所以相对来说还是比较容易的,在这里记录一下. 一.引用Maven依赖 这里使用spring自带的邮件jar包 ...
- 基于java mail实现简单的QQ邮箱发送邮件
刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 S ...
随机推荐
- Mac OS X 常用快捷键一览
- golang gin框架 使用swagger生成api文档
github地址:https://github.com/swaggo/gin-swagger 1.下载swag $ go get -u github.com/swaggo/swag/cmd/swag ...
- 模板—点分治B(合并子树)(洛谷P4149 [IOI2011]Race)
洛谷P4149 [IOI2011]Race 点分治作用(目前只知道这个): 求一棵树上满足条件的节点二元组(u,v)个数,比较典型的是求dis(u,v)(dis表示距离)满足条件的(u,v)个数. 算 ...
- 在线url网址编码、解码
>>在线url网址编码.解码<<
- 洛谷 2158 [SDOI2008]仪仗队
Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是 ...
- BraveOS正式版发布,希望大家下载使用
废话不多说,直接贴图才是王道 这里是DOS系统+默认官方(Platform系统) 下载地址:http://pan.baidu.com/s/1eQINwx8 (引导进Platform系统后,默认管理员帐 ...
- SQL 循环语句
一.if语句 二.while语句 练习: 三.case when 四.练习 1. 2. 3. 4.
- 彻底解决tensorflow:ImportError: Could not find 'cudart64_90.dll' tensorflow安装
今天装tensorflow-gpu出现了很多问题 1.pip install tensorflow-gpu下载过慢 解决办法可查看 Python机器学习常用模块 2.安装完tensorflow以后,运 ...
- H3C 通配符掩码
- python基础七之copy
浅拷贝 没有嵌套,则copy后完全不同,有嵌套,则copy后本体不同,嵌套相同. l1 = [1, 2, [4, 5, 6], 3] l2 = l1.copy() print(l1 is l2) # ...