0
在我的spring mvc web應用程序中,我通過org.springframework.mail.MailSender發送郵件。它適用於localhost,雖然我的應用程序部署在tomcat上,通過nginx建立連接。春季 - 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="[email protected]"/>
<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>
我nginx的confinguration:
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;`
.
.
.`
這是試着發送電子郵件時,我發現了錯誤:
互聯網並沒有多說這種配置所以如果你能幫助我,我會非常高興。
提供你已經修改了它'SSL-mydomain.conf'and也'SSL-params.conf'if的全部配置。從我可以看到nginx沒有配置爲監聽端口587.我的第一個意圖是你的防火牆,你檢查過它嗎? – secustor
這些配置文件與案件無關,我相信(糾正我,如果我錯了)。它們僅用於SSL配置。 如果我只是添加 服務器監聽587 default_server; listen [::]:587 default_server; } 它仍然不起作用,那麼我應該如何配置它呢? 另外,nginx在我的防火牆中擁有完全的權限。 – fryzjerro
是否有理由讓你通過nginx路由傳出連接?我目前看不到這一點。 – secustor