Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring-nginx中的邮件发送者_Spring_Email_Spring Mvc_Tomcat_Nginx - Fatal编程技术网

Spring-nginx中的邮件发送者

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"> <

在我的SpringMVCWeb应用程序中,我通过org.springframework.mail.mailssender发送电子邮件。它在本地主机上运行良好,尽管我的应用程序部署在tomcat上,并通过nginx建立连接

我认为问题出在nginx中,它可能阻塞了587端口

mailSender的配置:

<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;`
.
.
.`