需要的jar包:
mail-1.4.7.jar
maven配置:
javax.mail
mail
1.4.7
package com.common.tools;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ByteArrayInputStream;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.util.ByteArrayDataSource;
import com.sun.mail.smtp.SMTPTransport;
/**
* 邮件工具类
*
* @author chenlujun
* @version [版本号, 2014-11-20]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class MailTools {
/**
* Description:
*
* @param args
* [参数说明]
*
* @return void [返回类型说明]
* @throws IOException
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
public static void main(String[] args) throws IOException {
String host="smtp.qq.com";
String from="[email protected]";
String to="[email protected]";
String user="xxxxxxxxxx";
String password="xxxxxxxxx";
String prot = "smtp";
String mailer = "sendhtml";
String context = "clj邮件内容20141120";
boolean verbose = true;
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.from", from);
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props, null);
try {
Message msg = new MimeMessage(session);
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to, false));
msg.setSentDate(new Date());
msg.setHeader("X-Mailer", mailer);
msg.setSubject("邮件主题");
ByteArrayInputStream bais = new ByteArrayInputStream(
context.getBytes());
BufferedReader in = new BufferedReader(new InputStreamReader(bais));
collect(in, msg);
SMTPTransport t = (SMTPTransport) session.getTransport(prot);
try {
t.connect(host, user, password);
t.sendMessage(msg, msg.getAllRecipients());
} finally {
if (verbose) {
System.out
.println("Response: " + t.getLastServerResponse());
}
t.close();
}
} catch (MessagingException mex) {
System.out.println("send failed, exception: " + mex);
}
}
/**
* 拼接邮件内容
*
* @param in 邮件正文内容
* @param msg 邮件消息体
* @throws MessagingException
* @throws IOException
* @see [类、类#方法、类#成员]
*/
public static void collect(BufferedReader in, Message msg)
throws MessagingException, IOException {
String line;
String subject = msg.getSubject();
StringBuffer sb = new StringBuffer();
sb.append("\n");
sb.append("\n");
sb.append("\n");
sb.append(subject + "\n");
sb.append(" \n");
sb.append("\n");
sb.append("\n");
sb.append("" + subject + "
" + "\n");
while ((line = in.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
sb.append("\n");
sb.append("\n");
msg.setDataHandler(new DataHandler(new ByteArrayDataSource(sb
.toString(), "text/html")));
}
}