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

Unable to send mail to smtp.office365.com, port 587, using TLS

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • mailer-plugin
    • None
    • Windows 7 platform (64 bit). Jenkins version 2.88. Oracle JRE 8.0_151, running Jenkins directly, using Chrome web browser (62.0.3202.89).
      mailer plugin (1.20)

      I have scoured the internet for solutions to this particular issue, but none of the suggested solutions solves the problem.  I have also looked at the same issues raised here in the Jenkins Jira.

      The smtp.office365.com site is using TLS on port 587.

      This is what has been attempted to date. In Jenkins System Configuration for E-mail Notification. The MyName@mydomain.com represents a valid user in the mailing system.
      (Invalid user or password results in Authentication error instead of what is reported below)

      1.  User Name:  MyName@mydomain.com
       	Password:   •••••••••••••
       	Use SSL:    Checked
       	SMTP Port:  587
              Test e-mail recipient: MyName@mydomain.com
      
      Results:
          Failed to send out e-mail
          javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
      
      When 'Use SSL' is unchecked, results are
          Failed to send out e-mail
          com.sun.mail.smtp.SMTPSendFailedException: \
              550 5.7.60 SMTP; Client does not have permissions to send as this sender
      
      2. Placing -Dmail.smtp.starttls.enable=true into jenkins.xml then restart Jenkins. 
      
      	User Name:  MyName@mydomain.com
       	Password:   •••••••••••••
       	Use SSL:    Checked  (then unchecked)
       	SMTP Port:  587
              Test e-mail recipient: MyName@mydomain.com
      

      This gives the identical results mentioned in the first testing attempt.
      As mentioned on Stack OverFlow and the Jenkins Jira issues, I have even added the following to jenkins.xml with the same results.

        -Djava.awt.headless=true 
        -Dmail.smtp.starttls.enable=true 
        -Dmail.smtp.socketFactory.fallback=true
      

      Note, on this same machine, I can use a Powershell Send-MailMessage command which succeeds in its intended operation. This at least tells me that the account, port and SSL usage are all appropriate settings. ($mycred holds MyName@mydomain.com and Password)

      Send-MailMessage 
        -to "MyName@mydomain.com" 
        -from "MyName@mydomain.com" 
        -Subject "mailTest" 
        -credential $mycred
        -smtpserver smtp.office365.com 
        -port 587 
        -usessl
      

          [JENKINS-47939] Unable to send mail to smtp.office365.com, port 587, using TLS

          Steven Haehn created issue -
          Steven Haehn made changes -
          Description Original: I have scoured the internet for solutions to this particular issue, but none of the suggested solutions solves the problem.  I have also looked at the same issues raised here in the Jenkins Jira.

          The smtp.office365.com site is using SSL on port 587.

          This is what has been attempted to date. In Jenkins System Configuration for E-mail Notification. The MyName@mydomain.com represents a valid user in the mailing system.
           (Invalid user or password results in Authentication error instead of what is reported below)
          {noformat}
          1. User Name: MyName@mydomain.com
            Password: •••••••••••••
            Use SSL: Checked
            SMTP Port: 587
                  Test e-mail recipient: MyName@mydomain.com

          Results:
              Failed to send out e-mail
              javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

          When 'Use SSL' is unchecked, results are
              Failed to send out e-mail
              com.sun.mail.smtp.SMTPSendFailedException: \
                  550 5.7.60 SMTP; Client does not have permissions to send as this sender

          2. Placing -Dmail.smtp.starttls.enable=true into jenkins.xml then restart Jenkins.

          User Name: MyName@mydomain.com
            Password: •••••••••••••
            Use SSL: Checked (then unchecked)
            SMTP Port: 587
                  Test e-mail recipient: MyName@mydomain.com
          {noformat}
          This gives the identical results mentioned in the first testing attempt.
           As mentioned on Stack OverFlow and the Jenkins Jira issues, I have even added the following to jenkins.xml with the same results.
          {noformat}
            -Djava.awt.headless=true
            -Dmail.smtp.starttls.enable=true
            -Dmail.smtp.socketFactory.fallback=true
          {noformat}
          Note, on this same machine, I can use a Powershell Send-MailMessage command which succeeds in its intended operation. This at least tells me that the account, port and SSL usage are all appropriate settings. ($mycred holds MyName@mydomain.com and Password)
          {code:java}
          Send-MailMessage
            -to "MyName@mydomain.com"
            -from "MyName@mydomain.com"
            -Subject "mailTest"
            -credential $mycred
            -smtpserver smtp.office365.com
            -port 587
            -usessl
          {code}
          New: I have scoured the internet for solutions to this particular issue, but none of the suggested solutions solves the problem.  I have also looked at the same issues raised here in the Jenkins Jira.

          The smtp.office365.com site is using TLS on port 587.

          This is what has been attempted to date. In Jenkins System Configuration for E-mail Notification. The MyName@mydomain.com represents a valid user in the mailing system.
           (Invalid user or password results in Authentication error instead of what is reported below)
          {noformat}
          1. User Name: MyName@mydomain.com
            Password: •••••••••••••
            Use SSL: Checked
            SMTP Port: 587
                  Test e-mail recipient: MyName@mydomain.com

          Results:
              Failed to send out e-mail
              javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

          When 'Use SSL' is unchecked, results are
              Failed to send out e-mail
              com.sun.mail.smtp.SMTPSendFailedException: \
                  550 5.7.60 SMTP; Client does not have permissions to send as this sender

          2. Placing -Dmail.smtp.starttls.enable=true into jenkins.xml then restart Jenkins.

          User Name: MyName@mydomain.com
            Password: •••••••••••••
            Use SSL: Checked (then unchecked)
            SMTP Port: 587
                  Test e-mail recipient: MyName@mydomain.com
          {noformat}
          This gives the identical results mentioned in the first testing attempt.
           As mentioned on Stack OverFlow and the Jenkins Jira issues, I have even added the following to jenkins.xml with the same results.
          {noformat}
            -Djava.awt.headless=true
            -Dmail.smtp.starttls.enable=true
            -Dmail.smtp.socketFactory.fallback=true
          {noformat}
          Note, on this same machine, I can use a Powershell Send-MailMessage command which succeeds in its intended operation. This at least tells me that the account, port and SSL usage are all appropriate settings. ($mycred holds MyName@mydomain.com and Password)
          {code:java}
          Send-MailMessage
            -to "MyName@mydomain.com"
            -from "MyName@mydomain.com"
            -Subject "mailTest"
            -credential $mycred
            -smtpserver smtp.office365.com
            -port 587
            -usessl
          {code}
          Steven Haehn made changes -
          Attachment New: Jenkins SMTP mail settings.png [ 40294 ]
          Attachment New: jenkins.xml settings for TLS.png [ 40295 ]
          Steven Haehn made changes -
          Assignee New: Steven Haehn [ shaehn ]
          Resolution New: Not A Defect [ 7 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Steven Haehn made changes -
          Summary Original: Unable to send mail to smtp.office365.com, port 587, using SSL New: Unable to send mail to smtp.office365.com, port 587, using TLS
          Rakesh S made changes -
          Resolution Original: Not A Defect [ 7 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
          Rakesh S made changes -
          Attachment New: jenkinsError.png [ 51084 ]
          Rakesh S made changes -
          Attachment New: jenkinsError2.JPG [ 51085 ]
          Patrick Leveille made changes -
          Attachment New: image-2020-06-16-14-38-55-371.png [ 51650 ]
          Patrick Leveille made changes -
          Attachment New: image-2020-06-16-14-41-29-876.png [ 51651 ]

            shaehn Steven Haehn
            shaehn Steven Haehn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: