Environnement:
J'ai quelques problèmes avec la configuration de mon serveur Jenkins CI pour l'envoi de notifications par courrier électronique après avoir migré vers le compte professionnel dans Office365 . Voici donc mes configurations:
On dirait que le message doit être envoyé correctement mais le message électronique n'est pas envoyé.
L'erreur suivante se produit:
Failed to send out e-mail
com.Sun.mail.smtp.SMTPSendFailedException: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM
at com.Sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.Java:2057)
at com.Sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.Java:1580)
at com.Sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.Java:1097)
at javax.mail.Transport.send0(Transport.Java:195)
at javax.mail.Transport.send(Transport.Java:124)
at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.Java:527)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at Java.lang.reflect.Method.invoke(Unknown Source)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.Java:298)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.Java:161)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.Java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.Java:121)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.Java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.Java:745)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:875)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.Java:249)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.Java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.Java:745)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:875)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:648)
at org.kohsuke.stapler.Stapler.service(Stapler.Java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.Java:848)
at org.Eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.Java:686)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.Java:96)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.Java:58)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.Java:99)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.Java:88)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.Java:48)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.Java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.Java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.Java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.Java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.Java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.Java:86)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.Java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.Java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.Java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.Java:164)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.Java:46)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.Java:81)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1474)
at org.Eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.Java:499)
at org.Eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.Java:137)
at org.Eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.Java:533)
at org.Eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.Java:231)
at org.Eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.Java:1086)
at org.Eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.Java:428)
at org.Eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.Java:193)
at org.Eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.Java:1020)
at org.Eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.Java:135)
at org.Eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.Java:116)
at org.Eclipse.jetty.server.Server.handle(Server.Java:370)
at org.Eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.Java:489)
at org.Eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.Java:960)
at org.Eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.Java:1021)
at org.Eclipse.jetty.http.HttpParser.parseNext(HttpParser.Java:865)
at org.Eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.Java:235)
at org.Eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.Java:82)
at org.Eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.Java:668)
at org.Eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.Java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.Java:77)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at Java.lang.Thread.run(Unknown Source)
Pourriez-vous s'il vous plaît quelqu'un m'aider avec cela? Merci
J'ai utilisé le port SMTP 25 au lieu de 587 et ça marche
Après avoir passé en revue les réponses ici, j'ai toujours l'erreur:
Le client n'a pas l'autorisation d'envoyer comme expéditeur
Donc, ce qui me manquait, c’était de définir l’adresse e-mail de l’administrateur système et que tout fonctionnait bien - probablement le plug-in de messagerie utilisant l’e-mail de l’administrateur système pour connecter la boîte aux lettres.
Voici toutes les étapes pour configurer la notification par courrier électronique (également le courrier électronique ext):
Allez à gérer jenkins> configurer le système:
sous Jenkins Lieu
System Admin e-mail address: [email protected]
sous Notification étendue par courrier électronique:
SMTP server: smtp.office365.com
Default user e-mail suffix: @domain.com
User Name: [email protected]
Password: ###########
Use SSL: no
SMTP Port: 25 or 587
Charset UTF-8
fichier d'édition: "/ etc/default/jenkins"
Sudo vim /etc/default/jenkins
ajouter la ligne:
Java_ARGS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"
redémarrer jenkins
Sudo /etc/init.d/jenkins restart
testé sur Ubuntu 16
TLS n'est pas activé.
Ajoutez juste la prochaine propriété Java pour Jenkins au début:
-Dmail.smtp.starttls.enable=true
Donc, pour Ubuntu, il peut être configuré ici:
home/ubuntu# grep ^Java_ARGS /etc/default/jenkins
Java_ARGS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"
Si vous utilisez AWS EC2 AMI Linux, il s'agit d'un problème courant. Vous devez éditer/etc/sysconfig/jenkins et redémarrer Jenkins.
Vous devez avoir les deux
JENKINS_Java_OPTIONS = "- Djava.awt.headless = true -Dmail.smtp.starttls.enable = true"
ET
JENKINS_ARGS = "- Dmail.smtp.starttls.enable = true"
Pas:
Vérifiez si vous avez ce qui suit dans votre première information de débogage.
DEBUG: setDebug: JavaMail version 1.3
Veuillez mettre à niveau votre version de JavaMail vers une version supérieure à 1.4 et elle devrait être corrigée sans aucune modification du code.