• 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

          marcb created issue -

          marcb added a comment -

          Created an attachment (id=772)
          stack trace

          marcb added a comment - Created an attachment (id=772) stack trace

          mbaker000 added a comment -

          Triage begin 2/9/2011

          Is this issue still affecting you? SMTP authentication works for me in 1.396.

          mbaker000 added a comment - Triage begin 2/9/2011 Is this issue still affecting you? SMTP authentication works for me in 1.396.

          Marc Boscher added a comment -

          We have since removed authentication requirements for internal emails, so we've worked around this issue.

          Not planning on re-testing this on the short term.

          Good luck with Jenkins!

          Marc Boscher added a comment - We have since removed authentication requirements for internal emails, so we've worked around this issue. Not planning on re-testing this on the short term. Good luck with Jenkins!

          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.
          Xun Sun made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Xun Sun made changes -
          Status Original: In Progress [ 3 ] New: Open [ 1 ]

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

              Created:
              Updated:
              Resolved: