我找玩的好的一个开发同事拿来的方法,挺好,直接用
核心方法
public class SendEmal {
Session mailSession = null;
public static String MOFANGSENDER = "aa@mofang.com";
String mailHost = "mail.online.com.cn";
// String mailHost = "mail.mofang.com";
public void setMailHost(String mailHost) {
this.mailHost = mailHost;
}
public synchronized Session getMailSession() {
if (mailSession == null) {
Properties prop = new Properties();
prop.put("mail.host", "192.168.1.2");
prop.put("mail.port", "25");
prop.put("mail.username", "su@mofang.com");
prop.put("mail.password", "123456");
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.localhost", "192.168.1.31");
mailSession = Session.getInstance(prop, null);
}
return mailSession;
}
/**
* 发送邮件
*
* @param from
* @param emailAddrMap
* @param subject
* @param content
*/
public void sendEmail(String from, Map<String, String> emailAddrMap, String subject, String content) {
try {
Message msg = new MimeMessage(getMailSession());
msg.setFrom(new InternetAddress(from));
if (emailAddrMap.get(Message.RecipientType.TO.toString()) == null) {
return;
}
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(emailAddrMap.get(Message.RecipientType.TO.toString()).toString()));
if (emailAddrMap.get(Message.RecipientType.CC.toString()) != null) {
msg.setRecipients(Message.RecipientType.CC,
InternetAddress.parse(emailAddrMap.get(Message.RecipientType.CC.toString()).toString()));
}
msg.setSubject(subject);
msg.setSentDate(new java.util.Date());
msg.setDataHandler(new DataHandler(content, "text/html; charset=UTF-8"));
Transport.send(msg);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}
调用
public static void main(String[] args) {
SendEmal sendEmal=new SendEmal();
Map<String, String> emailAddrMap =new HashMap<>();
String tos1="a@mofang.com.cn,b@mofang.com.cn";
String tos2="c@mofang.com.cn";
//都作为收件人
emailAddrMap.put(Message.RecipientType.TO.toString(),tos1);
//收件人,抄送人
emailAddrMap.put(Message.RecipientType.CC.toString(),tos2); sendEmal.sendEmail(sendEmal.MOFANGSENDER,emailAddrMap,"testtest","1111111111");
}