做了一个功能需要发送邮件,但是项目是放在内网中的,所以需要使用nginx制作一个代理来发送邮件
nginx 文件配置:
upstream mailsmtp_pro {
server smtp.qq.com:587;
}
server {
listen 587; # 对外提供服务TCP监听
proxy_connect_timeout 5s;
proxy_timeout 5s;
proxy_pass mailsmtp_pro;
}
springboot 中配置文件
spring.mail.host=mailsmtp_pro
spring.mail.port=587
spring.mail.username=xxxx@qq.com
spring.mail.password=azsiwoitpekyfhaf
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactoryClass=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true
这个就是相当于你去请求你配置的nginx监听的端口,然后nginx 去代替你请求 email 的服务器.但是你的nginx 要配置在可以访问外网的服务器上.