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

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

XMLWordPrintable

    • 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
      

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

              Created:
              Updated: