package com.yeshi.fanli.util.email; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Date; import java.util.Properties; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import org.yeshi.utils.HttpUtil; import net.sf.json.JSONObject; public class MailSenderUtil { public static boolean sendTextMail(MailSendInfo mailInfo) { MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } Session sendMailSession = Session.getDefaultInstance(pro, authenticator); try { Message mailMessage = new MimeMessage(sendMailSession); Address from = new InternetAddress(mailInfo.getFromAddress()); mailMessage.setFrom(from); Address to = new InternetAddress(mailInfo.getToAddress()); mailMessage.setRecipient(Message.RecipientType.TO, to); mailMessage.setSubject(mailInfo.getSubject()); mailMessage.setSentDate(new Date()); String mailContent = mailInfo.getContent(); mailMessage.setText(mailContent); Transport.send(mailMessage); return true; } catch (MessagingException ex) { ex.printStackTrace(); } return false; } public static boolean sendHtmlMail(MailSendInfo mailInfo) { MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } Session sendMailSession = Session.getDefaultInstance(pro, authenticator); try { Message mailMessage = new MimeMessage(sendMailSession); Address from = new InternetAddress(mailInfo.getFromAddress()); mailMessage.setFrom(from); Address to = new InternetAddress(mailInfo.getToAddress()); mailMessage.setRecipient(Message.RecipientType.TO, to); mailMessage.setSubject(mailInfo.getSubject()); mailMessage.setSentDate(new Date()); Multipart mainPart = new MimeMultipart(); BodyPart html = new MimeBodyPart(); html.setContent(mailInfo.getContent(), "text/html; charset=utf-8"); mainPart.addBodyPart(html); mailMessage.setContent(mainPart); Transport.send(mailMessage); return true; } catch (MessagingException ex) { ex.printStackTrace(); } return false; } public static boolean sendEmail(String email, String title, String content) { String username = "he15901227708@163.com"; String pwd = "hexiaohui1011"; MailSendInfo mailInfo = new MailSendInfo(); mailInfo.setMailServerHost("smtp." + username.split("@")[1]); mailInfo.setMailServerPort("25"); mailInfo.setValidate(true); mailInfo.setUserName(username); mailInfo.setPassword(pwd); mailInfo.setFromAddress(username); mailInfo.setToAddress(email); mailInfo.setSubject(title); StringBuffer buffer = new StringBuffer(); buffer.append(content); mailInfo.setContent(buffer.toString()); return sendTextMail(mailInfo); } public static boolean sendEmail(String toEmail, String fromEmail, String fromEmailPwd, String title, String content) { try { String url = String.format( "http://111.230.142.62:8089/BuWan/email/sendEmail?fromAccount=%s&fromPwd=%s&toAccount=%s&title=%s&content=%s", URLEncoder.encode(fromEmail, "UTF-8"), URLEncoder.encode(fromEmailPwd, "UTF-8"), URLEncoder.encode(toEmail, "UTF-8"), URLEncoder.encode(title, "UTF-8"), URLEncoder.encode(content, "UTF-8")); String result = HttpUtil.get(url); JSONObject data = JSONObject.fromObject(result); if (data.optInt("code") == 0) return true; else return false; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return false; // String username = fromEmail; // String pwd = fromEmailPwd; // MailSendInfo mailInfo = new MailSendInfo(); // mailInfo.setMailServerHost("smtp." + username.split("@")[1]); // mailInfo.setMailServerPort("25"); // mailInfo.setValidate(true); // mailInfo.setUserName(username); // mailInfo.setPassword(pwd); // mailInfo.setFromAddress(username); // mailInfo.setToAddress(toEmail); // mailInfo.setSubject(title); // StringBuffer buffer = new StringBuffer(); // buffer.append(content); // mailInfo.setContent(buffer.toString()); // return sendTextMail(mailInfo); } }