JavaMail Issue : Can't send command to SMTP host

Today I gone through this same issue. But for me the issue is, in smtp server TLS was not enabled. So I have changed the mail properties like this.
mail.smtp.starttls.enable=false

Now every thing is working good for me.


In my case, I was able to find the root problem after I enabled mailer debugging.

Different ways to enable mailer debugging:

java -Dmail.debug=true ...

props.put("mail.smtp.starttls.enable", "true");
props.put("mail.debug", "true");

Jenkins config (/etc/default/jenkins):

JAVA_ARGS="-Dmail.smtp.starttls.enable=true -Dmail.debug=true"

More info: http://www.oracle.com/technetwork/java/faq-135477.html

My particular error was that I had an incorrect address in the "from:" line when the email was created. Google "G Suite" (google apps for business) requires the from-address to be in the same domain as the account owner. Eg. mycompanyname.com

The mailer debug revealed:

MAIL FROM:<[email protected]> 550-5.7.1 Invalid credentials for relay [192.168.42.42]. The IP address you've 550-5.7.1 registered in your G Suite SMTP Relay service doesn't match domain of 550-5.7.1 the account this email is being sent from. If you are trying to relay 550-5.7.1 mail from a domain that isn't registered under your G Suite account