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.解决办法
方法一:加多以下这句
props.put("mail.smtp.ssl.enable", true);
方法二:修改发送端口
将465端口改为25端口