• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Platform: PC, OS: All

      I've tried to use my Exchange 2007 server as an SMTP server for Hudson, which
      requires SMTP authentication. I configured the standard authentication settings
      which have been confirmed to work on Outlook, Outlook Express as well as our
      office printer (which can sending scans by email). When sending a test email, or
      having emails sent after a build, I get the following:

      com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.1 Client was not
      authenticated

      See attachment for full stack trace.

      It would appear the problem is related to the way JavaMail is called in Hudson.
      The following FAQ entry describes the problem:

      http://java.sun.com/products/javamail/FAQ.html#smtpauth

      I checked hudson.tasks.Mailer in core/src/main/java/hudson/tasks and it seems
      indeed that JavaMail is being called using Transport.send(msg) instead of the
      method suggested in the FAQ above.

          [JENKINS-3983] SMTP authentication not working

          mbaker000 added a comment -

          Thanks for the quick response. I'm confident that it's working now, but I'll test it out a little bit at work tomorrow too to see if I can break it.

          mbaker000 added a comment - Thanks for the quick response. I'm confident that it's working now, but I'll test it out a little bit at work tomorrow too to see if I can break it.

          mbaker000 added a comment -

          I was able to get Jenkins to send me emails through a GoDaddy SMTP relay requiring authentication without any issues, so I'm comfortable closing this as fixed. Does anyone else care to verify it for themselves before I close it out?

          mbaker000 added a comment - I was able to get Jenkins to send me emails through a GoDaddy SMTP relay requiring authentication without any issues, so I'm comfortable closing this as fixed. Does anyone else care to verify it for themselves before I close it out?

          duncan child added a comment -

          I can replicate the problem. My random comments are:

          1) I am running the standalone jenkins.war file
          2) The JVM is looking in jre/lib/ext where it is not going to find anything interesting
          3) The logs say isSSL false but in the Jenkins configuration I set it to true
          4) I am trying to use a MicroSoft mail server, not GoDaddy.
          5) The original reporter mentioned Transport.send(msg) which sounds like it could be relevant

          Here is the log output ...

          DEBUG: JavaMail version 1.4
          DEBUG: java.io.FileNotFoundException: /usr/bin/jdk1.6.0_27/jre/lib/javamail.providers (No such file or directory)
          DEBUG: !anyLoaded
          DEBUG: not loading resource: /META-INF/javamail.providers
          DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
          DEBUG: Tables of loaded providers
          DEBUG: Providers Listed By Class Name:

          {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}

          DEBUG: Providers Listed By Protocol:

          {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}

          DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
          DEBUG: !anyLoaded
          DEBUG: not loading resource: /META-INF/javamail.address.map
          DEBUG: java.io.FileNotFoundException: /usr/bin/jdk1.6.0_27/jre/lib/javamail.address.map (No such file or directory)
          DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
          DEBUG SMTP: useEhlo true, useAuth true
          DEBUG SMTP: useEhlo true, useAuth true
          DEBUG SMTP: trying to connect to host "Smtp.mail.microsoftonline.com", port 587, isSSL false
          DEBUG SMTP: exception reading response: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

          Let me know if I can help test anything more.

          duncan child added a comment - I can replicate the problem. My random comments are: 1) I am running the standalone jenkins.war file 2) The JVM is looking in jre/lib/ext where it is not going to find anything interesting 3) The logs say isSSL false but in the Jenkins configuration I set it to true 4) I am trying to use a MicroSoft mail server, not GoDaddy. 5) The original reporter mentioned Transport.send(msg) which sounds like it could be relevant Here is the log output ... DEBUG: JavaMail version 1.4 DEBUG: java.io.FileNotFoundException: /usr/bin/jdk1.6.0_27/jre/lib/javamail.providers (No such file or directory) DEBUG: !anyLoaded DEBUG: not loading resource: /META-INF/javamail.providers DEBUG: successfully loaded resource: /META-INF/javamail.default.providers DEBUG: Tables of loaded providers DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]} DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: !anyLoaded DEBUG: not loading resource: /META-INF/javamail.address.map DEBUG: java.io.FileNotFoundException: /usr/bin/jdk1.6.0_27/jre/lib/javamail.address.map (No such file or directory) DEBUG: getProvider() returning javax.mail.Provider [TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "Smtp.mail.microsoftonline.com", port 587, isSSL false DEBUG SMTP: exception reading response: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? Let me know if I can help test anything more.

          Xun Sun added a comment -

          +1

          It seems only repros on Microsoft Exchange, not on other mail systems.

          In my environment, if I set to smtp.gmail.com, it just works fine, but not with any exchange servers.

          Xun Sun added a comment - +1 It seems only repros on Microsoft Exchange, not on other mail systems. In my environment, if I set to smtp.gmail.com, it just works fine, but not with any exchange servers.

          duncan child added a comment -

          My colleague Alexander figured this out. The problem we had connecting to the MS server was resolved by setting -Dmail.smtp.starttls.enable="true" in the startup script.

          duncan child added a comment - My colleague Alexander figured this out. The problem we had connecting to the MS server was resolved by setting -Dmail.smtp.starttls.enable="true" in the startup script.

          kutzi added a comment -

          kutzi added a comment - Seems to be fixed in JavaMail 1.4.3 http://www.oracle.com/technetwork/java/javamail/javamail143-243221.html

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          core/pom.xml
          http://jenkins-ci.org/commit/jenkins/4afaf0bbc2c9f7298c45dc527269fb5c81cc710d
          Log:
          Update JavaMail dependency to 1.4.4. Should fix JENKINS-1152 and JENKINS-3983

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: core/pom.xml http://jenkins-ci.org/commit/jenkins/4afaf0bbc2c9f7298c45dc527269fb5c81cc710d Log: Update JavaMail dependency to 1.4.4. Should fix JENKINS-1152 and JENKINS-3983

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          changelog.html
          http://jenkins-ci.org/commit/jenkins/c4dd892ea3067be942d4a89778029ed1522512ff
          Log:
          Changelog for JENKINS-1152 and JENKINS-3983

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: changelog.html http://jenkins-ci.org/commit/jenkins/c4dd892ea3067be942d4a89778029ed1522512ff Log: Changelog for JENKINS-1152 and JENKINS-3983

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          core/pom.xml
          http://jenkins-ci.org/commit/jenkins/efce00a177bd4d6ac64cad481544729e90144358
          Log:
          Update JavaMail dependency to 1.4.4. Should fix JENKINS-1152 and JENKINS-3983(cherry picked from commit 4afaf0bbc2c9f7298c45dc527269fb5c81cc710d)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: core/pom.xml http://jenkins-ci.org/commit/jenkins/efce00a177bd4d6ac64cad481544729e90144358 Log: Update JavaMail dependency to 1.4.4. Should fix JENKINS-1152 and JENKINS-3983 (cherry picked from commit 4afaf0bbc2c9f7298c45dc527269fb5c81cc710d)

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          changelog.html
          http://jenkins-ci.org/commit/jenkins/f481b1971d32141219e33aad5f449b45463a8e7c
          Log:
          Changelog for JENKINS-1152 and JENKINS-3983
          (cherry picked from commit c4dd892ea3067be942d4a89778029ed1522512ff)

          Conflicts:

          changelog.html

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: changelog.html http://jenkins-ci.org/commit/jenkins/f481b1971d32141219e33aad5f449b45463a8e7c Log: Changelog for JENKINS-1152 and JENKINS-3983 (cherry picked from commit c4dd892ea3067be942d4a89778029ed1522512ff) Conflicts: changelog.html

            Unassigned Unassigned
            marcb marcb
            Votes:
            3 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: