第三方-发送邮件工具类
第三方--发送邮件工具类
package import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.Properties; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; 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.apache.log4j.Logger; public class EmailUtil { private Logger log = Logger.getLogger(EmailUtil.class); private String host; private String username; private String password; private String fromEmail; public EmailUtil(String host, String username, String password, String fromEmail) { this.host = host; this.username = username; this.password = password; this.fromEmail = fromEmail; } public EmailUtil() { } /** * 发送邮件 * * @param receiverEmail * @param subject * @param mailContent */ public boolean sendMail(String[] receiverEmail, String subject, String mailContent,String host,String fromEmail,String username,String password) { try { Properties props = new Properties();// 创建属性对象 props.put("mail.smtp.host", host);// 设置smtp服务器地址 props.put("mail.smtp.auth", "true");// 设置服务器smtp需要验证 props.put("mail.from", fromEmail); javax.mail.Session session = javax.mail.Session.getInstance(props, null);// 创建新邮件并群发 // Session session = Session.getDefaultInstance(props); // session.setDebug(true); MimeMessage message = new MimeMessage(session);// 创建过程对象 message.setSentDate(new Date());// 设置时间 InternetAddress[] address = new InternetAddress[receiverEmail.length]; // 群发地址 for (int i = 0; i < receiverEmail.length; i++) { // 循环发送 address[i] = new InternetAddress(receiverEmail[i]); } message.setRecipients(Message.RecipientType.TO, address); message.setSubject(subject);// 设置主题 Multipart multipart = new MimeMultipart(); BodyPart contentPart = new MimeBodyPart(); contentPart.setContent(mailContent, "text/html;charset=utf-8");// 设置信件内容 multipart.addBodyPart(contentPart); message.setContent(multipart); message.saveChanges(); Transport transport = session.getTransport("smtp"); transport.connect(host, username, password); transport.sendMessage(message, message.getAllRecipients()); transport.close(); return true; } catch (Exception e) { // log.error(e.getMessage(), e); e.printStackTrace(); return false; } } /* * * */ public static boolean nowSendMail(String email ,String content) { // boolean b = false; try { Properties prop = new Properties(); String base =Thread.currentThread().getContextClassLoader().getResource("").getPath(); // System.out.println(base); // base = base.substring(1, base.length()); // System.out.println(base); InputStream in = new BufferedInputStream (new FileInputStream(base + "email.properties")); prop.load(in); String host = prop.getProperty("host"); String username = prop.getProperty("username"); String password = prop.getProperty("password"); String fromEmail = prop.getProperty("fromemail"); String title =new String(prop.getProperty("title").getBytes("ISO8859-1"),"UTF-8"); EmailUtil eh = new EmailUtil(); boolean sendFlag = eh.sendMail(new String[] { email }, title,content,host,fromEmail,username,password); if(!sendFlag){ return false; } } catch (IOException e) { e.printStackTrace(); } return true; } public static void main(String[] args) { EmailUtil.nowSendMail("xx@163.com", "测试内容"); } }
email.properties:
host=smtp.163.com username=xxxx password=xxxx fromemail=xxx@163.com