Could not connect to SMTP host: smtp.163.com, port: 465, response: -1

2033 ワード

1.次のコードでメール送信テストに失敗しました

JavaMailSenderImpl tempMailSender = new JavaMailSenderImpl();
tempMailSender.setHost(mqCloudConfigHelper.getMailHost());
tempMailSender.setPort(mqCloudConfigHelper.getMailPort());
tempMailSender.setProtocol(mqCloudConfigHelper.getMailProtocol());
tempMailSender.setUsername(mqCloudConfigHelper.getMailUsername());
tempMailSender.setPassword(mqCloudConfigHelper.getMailPassword());
Properties props = new Properties();
props.put("mail." + mqCloudConfigHelper.getMailProtocol() + ".auth", true);
props.put("mail." + mqCloudConfigHelper.getMailProtocol() + ".connectiontimeout",
                    mqCloudConfigHelper.getMailTimeout());
props.put("mail." + mqCloudConfigHelper.getMailProtocol() + ".timeout",
                    mqCloudConfigHelper.getMailTimeout());
tempMailSender.setJavaMailProperties(props);
tempMailSender.testConnection();

javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 465, response: -1     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2106)     at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)     at javax.mail.Service.connect(Service.java:366)     at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:501)     at org.springframework.mail.javamail.JavaMailSenderImpl.testConnection(JavaMailSenderImpl.java:382)     at com.sohu.tv.mq.cloud.service.impl.DefaultAlertMessageSender.init(DefaultAlertMessageSender.java:60)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)

2.解決策


方法1:以下の文を増やす


props.put("mail.smtp.ssl.enable", true);

方法2:送信ポートの変更


465ポートを25ポートに変更