Spring-nginx中的邮件发送者
在我的SpringMVCWeb应用程序中,我通过org.springframework.mail.mailssender发送电子邮件。它在本地主机上运行良好,尽管我的应用程序部署在tomcat上,并通过nginx建立连接 我认为问题出在nginx中,它可能阻塞了587端口 mailSender的配置:Spring-nginx中的邮件发送者,spring,email,spring-mvc,tomcat,nginx,Spring,Email,Spring Mvc,Tomcat,Nginx,在我的SpringMVCWeb应用程序中,我通过org.springframework.mail.mailssender发送电子邮件。它在本地主机上运行良好,尽管我的应用程序部署在tomcat上,并通过nginx建立连接 我认为问题出在nginx中,它可能阻塞了587端口 mailSender的配置: <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="myhost" />
<property name="port" value="587" />
<property name="username" value="info@myhost"/>
<property name="password" value="mypsw"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.ssl.trust">myhost</prop>
</props>
</property>
</bean>
这是我在尝试发送电子邮件时遇到的错误:
互联网上没有太多关于这种配置的信息,因此如果您能帮助我,我将非常高兴。好的,我已经找到了答案。问题是我使用的是谷歌云,它阻塞了587端口
提供
ssl mydomain.conf
的完整配置,如果您已经修改了ssl params.conf
。据我所见,nginx未配置为侦听端口587。我的第一个意图是你的防火墙,你检查过了吗?我相信这些配置文件与案件无关(如果我错了,请纠正我)。它们只是用于SSL配置。如果我只是添加服务器{listen 587 default_server;listen[:]:587 default_server;}它仍然不工作,那么我应该如何配置它呢?此外,nginx在我的防火墙中拥有完全权限。您希望通过nginx路由传出连接的原因是什么?我现在看不出这有什么意义。@secustor我怎样才能使nginx不阻塞587端口呢?(如果这确实是问题的本质)如果存在侦听
块,Nginx将只阻塞端口,因为它将保留此端口,但我认为您必须阅读一些关于端口的基本知识,因为您在bean中定义的端口是远程机器上的端口,而不是本地机器上的端口。此错误基本上表示您没有发送HTTP响应。检查您的应用程序是否因为HTTP头的更改而转储。
upstream tomcat {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name mydomain;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/ssl-mydomain.conf;
include snippets/ssl-params.conf;`
.
.
.`