We are trying to configure Spring JavaMailSender to work with Amazon's SES service using SMTP, but we are getting this error:
javax.mail.MessagingException: Could not connect to SMTP host: email-smtp.us-east-1.amazonaws.com, port: 465, response: -1
This is our configuration:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="email-smtp.us-east-1.amazonaws.com" />
<property name="port" value="465" />
<property name="username" value="..." />
<property name="password" value="..." />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.ssl.enable">true</prop>
</props>
</property>
</bean>
Any ideas what could be wrong? Thanks in advance.
PS: We already tried the solution here: Could not connect to SMTP host: email-smtp.us-east-1.amazonaws.com, port: 465, response: -1 without any luck.
Based on @GuCo answer: This is the full configuration that worked for me:
Do not forget the
<property name="protocol" value="smtps" />
configuration, or else the javaMailProperties are not taken into consideration.If you want to use @Bean, the following worked for me:
This code is working for me:
I just came across the same problem. Actually, I tried to solve it a few weeks ago and got stuck ...
First thing I did, to identify the problem: activate the debugging mode for the mail api
This showed me, that it actually doesn't use SSL
My colleague pointed out, to include another mail property to really use SSL
After adding this value the "isSSL" value changed to true, but pointed out another error. It doesn't use authentication anymore, because of the change of the protocol, which can be fixed by, of course, changing the property
to
After that journey, it finally worked for me :-)
Hope that was helpful ...
Just to summarize the correct properties:
This question is quite old, but in case someone needs the Spring boot configuration, this is what worked for me: