一个发送邮件的工具类

来源:互联网 发布:七天网络阅卷组织代码 编辑:程序博客网 时间:2024/05/18 01:36
import java.util.List;import java.util.Properties;import javax.annotation.Resource;import javax.mail.Authenticator;import javax.mail.Message.RecipientType;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import cn.itcast.bos.dao.IWorkbillDao;import cn.itcast.bos.domain.Workbill;/** * 发送邮件的作业 * @author zhaoqx * */public class MailJob {@Resourceprivate IWorkbillDao workbillDao;private String username;private String password;private String smtpServer;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public void execute() {System.out.println("要发邮件了。。。");try {//查询工单类型为新单的所有工单List<Workbill> list = workbillDao.findNewWorkbills();if(null != list && list.size() > 0){final Properties mailProps = new Properties();mailProps.put("mail.smtp.host", this.getSmtpServer());mailProps.put("mail.smtp.auth", "true");mailProps.put("mail.username", this.getUsername());mailProps.put("mail.password", this.getPassword());// 构建授权信息,用于进行SMTP进行身份验证Authenticator authenticator = new Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {// 用户名、密码String userName = mailProps.getProperty("mail.username");String password = mailProps.getProperty("mail.password");return new PasswordAuthentication(userName, password);}};// 使用环境属性和授权信息,创建邮件会话Session mailSession = Session.getInstance(mailProps, authenticator);for(Workbill workbill : list){// 创建邮件消息MimeMessage message = new MimeMessage(mailSession);// 设置发件人InternetAddress from = new InternetAddress(mailProps.getProperty("mail.username"));message.setFrom(from);// 设置收件人InternetAddress to = new InternetAddress("test@itcast.cn");message.setRecipient(RecipientType.TO, to);// 设置邮件标题message.setSubject("系统邮件:新单通知");// 设置邮件的内容体message.setContent(workbill.toString(), "text/html;charset=UTF-8");// 发送邮件Transport.send(message);}}} catch (Exception ex) {ex.printStackTrace();}}public String getSmtpServer() {return smtpServer;}public void setSmtpServer(String smtpServer) {this.smtpServer = smtpServer;}}

0 0
原创粉丝点击