发送邮件工具类EmailKit

来源:互联网 发布:java 虚拟主机空间 编辑:程序博客网 时间:2024/06/06 02:18

一、到相关邮箱服务器开通smtp等功能

二、代码编写


import java.util.Date;import java.util.Properties;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 com.jfinal.kit.Prop;import com.jfinal.kit.PropKit;public class EmailKit {    /**     * FIXME smtp地址需改成配置项,邮件正文代码略微复杂应可简化     * @param toEmail 目标邮箱     * @param title 邮件主题     * @param content 邮件内容     */    public static boolean send(String toEmail, String title, String content) {        boolean flag = true;        try {            Prop emailProp = PropKit.use("email.properties");            String fromEmail = emailProp.get("fromEmail");            Properties props = new Properties();            props.put("mail.smtp.host", emailProp.get("smtpHost"));            props.put("mail.smtp.auth", "true"); // 这样才能通过验证            //ssl 验证  部分非企业邮箱            props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");            props.setProperty("mail.smtp.port", "465");            props.setProperty("mail.smtp.socketFactory.port", "465");            Session s = Session.getInstance(props);            s.setDebug(true);            MimeMessage message = new MimeMessage(s);            // 给消息对象设置发件人/收件人/主题/发信时间            InternetAddress from = new InternetAddress(fromEmail); // 发邮件的出发地(发件人的信箱)            message.setFrom(from);            InternetAddress to = new InternetAddress(toEmail);// 发邮件的目的地(收件人信箱)            message.setRecipient(Message.RecipientType.TO, to);            message.setSubject(title);            message.setSentDate(new Date());            // 给消息对象设置内容            BodyPart mdp = new MimeBodyPart();// 新建一个存放信件内容的BodyPart对象            mdp.setContent(content, "text/html;charset=gb2312");// 给BodyPart对象设置内容和格式/编码方式            Multipart mm = new MimeMultipart();// 新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)            mm.addBodyPart(mdp);// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)            message.setContent(mm);// 把mm作为消息对象的内容            message.saveChanges();            Transport transport = s.getTransport("smtp");            transport.connect(emailProp.get("smtpHost"), fromEmail, emailProp.get("fromPassword"));            transport.sendMessage(message, message.getAllRecipients());            transport.close();        } catch (MessagingException e) {            e.printStackTrace();            flag = false;        }        return flag;    }}
原创粉丝点击