Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-31453

Unable to send email with office365

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Minor Minor
    • mailer-plugin
    • None

      I cannot send email with office365.

      I've tried with windows and linux, and changing different parameters:

      SMTP Server: smtp.office365.com
      Default user e-mail suffix: @example.org
      Use SMTP Authentication: True
      username: whatever@example.org
      password: whatever
      Use SSL: True
      SMTP Port: 587
      Reply-To Address: whatever@example.org
      Charset: UTF-8
      

      (I've tested with "Use SSL: No" too)

      And it doesn't work.

      I'm using the same configuration with other tools and it works, so the connection data should work.

      The error is:

      Failed to send out e-mail
      
      javax.mail.MessagingException: Could not connect to SMTP host: smtp.office365.com, port: 587;
        nested exception is:
      	java.net.SocketException: Permission denied: connect
      
      	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
      
      	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
      
      	at javax.mail.Service.connect(Service.java:317)
      
      	at javax.mail.Service.connect(Service.java:176)
      
      	at javax.mail.Service.connect(Service.java:125)
      
      	at javax.mail.Transport.send0(Transport.java:194)
      
      	at javax.mail.Transport.send(Transport.java:124)
      
      	at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:566)
      
      	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:746)
      
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      
      	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:746)
      
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      
      	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:132)
      
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
      
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      
      	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      
      	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:1482)
      
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      
      	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:240)
      
      	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)
      
      Caused by: java.net.SocketException: Permission denied: connect
      
      	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
      
      	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
      
      	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
      
      	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
      
      	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
      
      	at java.net.PlainSocketImpl.connect(Unknown Source)
      
      	at java.net.SocksSocketImpl.connect(Unknown Source)
      
      	at java.net.Socket.connect(Unknown Source)
      
      	at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
      
      	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:286)
      
      	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:205)
      
      	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
      
      	... 65 more
      

      I've launched java VM with options -Dmail.smtp.starttls.enable=true -jar, following advises here: http://stackoverflow.com/questions/20188456/how-to-change-the-security-type-from-ssl-to-tls-in-jenkins, bit it didn't work:

      java -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dmail.smtp.starttls.enable=true -jar jenkins.war --httpPort=9001
      

      In addition, I've tried with:

      I think the problem may be related with TLS, because it should be set explicitely. Gmail, for example, allows it implicitely.

            Unassigned Unassigned
            magmax Miguel Ángel García
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: