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 ...
随机推荐
- 2017 ACM/ICPC Asia Regional Shenyang Online:number number number hdu 6198【矩阵快速幂】
Problem Description We define a sequence F: ⋅ F0=0,F1=1;⋅ Fn=Fn−1+Fn−2 (n≥2). Give you an integer k, ...
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)(转)
http://www.2cto.com/os/201505/401588.html Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里 ...
- Flask学习之七 单元测试
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-vii-unit-testing 中文翻译地址:http ...
- Javascript用正则表达式replace替换父串中所有符合条件的子串
这样用,只会替换匹配到的第一个子串 str = 'I hava a pen ,I hava an apple,apple pen, pen apple' str = str.replace('appl ...
- HZOJ matrix
完全没有思路,状压到死没调出来……吐槽一下这题目描述的好不清楚啊好多人都理解错题了…… 题解: 真的挺神仙的,因为有每列最多放1个的限制,所以考虑按列dp,设f[i][j]表示考虑前i列在[1,i]中 ...
- 深度学习——Xavier初始化方法
“Xavier”初始化方法是一种很有效的神经网络初始化方法,方法来源于2010年的一篇论文<Understanding the difficulty of training deep feedf ...
- vue3——vue数据循环渲染
博客地址 :https://www.cnblogs.com/sandraryan/ vue循环渲染 <!DOCTYPE html> <html lang="en" ...
- codeforces1249-div3
A B C 等比数列的性质,前面的i项的和,不会超过第i+1项 D 有若干个区间,要求每一个点被区间覆盖的次数不能超过k个.问移除的最少的区间的数目. 贪心: 若某个点被覆盖了k次以上,那么肯定是移除 ...
- vector容器、
一. vector 向量容器1. 创建 vector 对象(1)不指定容器大小vector<int> V;(2)指定容器大小vector<int> V(10);(3) ...
- servicemix-3.2.1 内置的服务引擎和绑定组件
服务引擎: servicemix-bean servicemix-camel servicemix-cxf-se servicemix-drools servicemix-eip servicemix ...