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