DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.126.com", port 25, isSSL false
DEBUG SMTP: exception reading response: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Exception reading response;
代码如下
JavaMailSenderImpl mailSend=new JavaMailSenderImpl();
mailSend.setDefaultEncoding("UTF-8");//编码
mailSend.setHost(getWebServicePz("shxt.mail.host"));//mail端口协议
mailSend.setPassword(getWebServicePz("shxt.mail.password"));//密码
mailSend.setUsername(getWebServicePz("shxt.mail.username"));//用户名@前面
Properties properties = new Properties();
properties.setProperty("mail.debug", "true");//是否显示调试信息(可选测试用)
properties.setProperty("mail.transport.protocol", "smtp");//协议
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.auth", "true");//设置用户验证
properties.setProperty("mail.smtp.timeout","250000");//超时时间
mailSend.setJavaMailProperties(properties);
MimeMessage msg = mailSend.createMimeMessage();
MimeMessageHelper message = new MimeMessageHelper(msg, false, "UTF-8");
message.setFrom(getWebServicePz("shxt.mail.from"));
message.setSubject("上会通知"); //主题
message.setTo(toEmails); //发件人
String htmlTemplate=mailTzTemplate(hyxx,template,hys,yhryLst,ytList);//freemark网页模板
message.setText(htmlTemplate, true); // 如果发的不是html内容去掉true参数
mailSend.send(msg);
这个是为了安全 做了ssl安全限制的。
这个对你发送邮件没什么影响吧,没影响就不用管的。
看我的做法:
1,applicationContext-mail.xml配置如下:
[code="xml"]
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 注意:这里的参数(如用户名、密码)都是针对邮件发送者的 -->
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>smtp.126.com</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username">
<value>你的邮箱</value>
</property>
<property name="password">
<value>邮箱密码</value>
</property>
</bean>
<bean id="emailUtil" class="org.frame.EmailUtil">
<property name="mailSender" ref="mailSender"></property>
</bean>
[/code]
2,EmailUtil代码如下:
[code="java"]
package org.frame;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
public class EmailUtil {
private JavaMailSender mailSender;
public JavaMailSender getMailSender() {
return mailSender;
}
public void setMailSender(JavaMailSender mailSender) {
this.mailSender = mailSender;
}
/**
* 发送简单文本邮件(可含多个emails,按':'分割)
*
* @param emails
* @param subject
* @param text
*/
public void sentEmails(String emails, String subject, String text) {
// 获取JavaMailSender bean
// SimpleMailMessage只能用来发送text格式的邮件
SimpleMailMessage mail = new SimpleMailMessage();
String email[] = emails.split(";");
for (int i = 0; i < email.length; i++) {
try {
mail.setTo(email[i]);// 接受者
mail.setFrom("发送者邮箱");
mail.setSubject(subject);// 主题
mail.setText(text);// 邮件内容
mailSender.send(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
[/code]
希望对你有用。
真没出现过这样的情况。 :oops: