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ポートに変更
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();
方法1:以下の文を増やす
props.put("mail.smtp.ssl.enable", true);
方法2:送信ポートの変更
465ポートを25ポートに変更