代码直行到
// 发送器
JavaMailSenderImpl sender = new JavaMailSenderImpl();
这个地方的时候就停止了,也没有报任何错。不太清楚是哪里的问题,请高手帮忙看看
package com.hhsoft.sectionTimerTask.util;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import com.hhsoft.sectionTimerTask.model.dto.EmailDto;
import com.hhsoft.sectionTimerTask.service.EmailSendService;
public class SendEmailThread implements Runnable
{
private static Logger loger = LoggerFactory.getLogger(SendEmailThread.class);
private String title;
private String content;
private String receiveAddr;
private String ccAddr;
private List<File> attachments;
public SendEmailThread(EmailDto email, EmailSendService service)
{
this.email = email;
this.service = service;
}
public SendEmailThread(String title, String content, String receiveAddr, String ccAddr, List<File> attachments)
{
this.title = title;
this.content = content;
this.receiveAddr = receiveAddr;
this.ccAddr = ccAddr;
this.attachments = attachments;
}
@Override
public void run()
{
System.out.println("fasong开始");
Properties p = new Properties();
// 读取邮件配置文件
InputStream is = EmailSendService.class.getResourceAsStream("/properties/email-setting.properties");
try
{
p.load(is);
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
// 发送邮件的host
String host = p.getProperty("host");
// 发送邮件的port
String port = p.getProperty("port");
// 发送邮件的username
String username = p.getProperty("username");
// 发送邮件的password
String password = p.getProperty("password");
// 发送邮件的地址,即管理员帐号的address
String sendFrom = p.getProperty("sendFrom");
// 发送邮件人的昵称
String nickname = p.getProperty("nickname");
System.out.println(nickname);
// 发送器
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost(host);
sender.setPort(Integer.parseInt(port));
sender.setUsername(username);
sender.setPassword(password);
sender.setDefaultEncoding("UTF-8");
// // 配置文件对象
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props);
sender.setSession(session); // 为发送器指定会话
MimeMessage mail = sender.createMimeMessage();
MimeMessageHelper helper;
try
{
helper = new MimeMessageHelper(mail, true);
// 收件方
helper.setTo(receiveAddr);
// 标题
helper.setSubject(title);
// 邮件内容,第二个参数指定发送的是HTML格式
helper.setText(content, true);
// 发送方账号昵称
// nickname = javax.mail.internet.MimeUtility.encodeText(nickname);
System.out.println(nickname);
// 组装发送方账号信息
helper.setFrom(new InternetAddress(nickname + sendFrom));
// 抄送人员address
if(ccAddr != null)
{
helper.setCc(ccAddr);
}
// 增加附件
if(attachments != null && attachments.size()>0)
{
for (File file : attachments)
{
helper.addAttachment(file.getName(), file);
}
}
// File file = new File("d:/abc.txt");
// helper.addAttachment("abc.txt", file);
System.out.println("fasong之前");
// 发送
sender.send(mail);
loger.info("邮件发送成功");
System.out.println("fasongchenggong");
} catch (MessagingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}