博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 发送邮件工具类
阅读量:6553 次
发布时间:2019-06-24

本文共 4199 字,大约阅读时间需要 13 分钟。

1.  Mail.java

package util;import java.util.Date;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.Multipart;import javax.mail.PasswordAuthentication;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;public class Mail {    private static MimeMessage message;    static {        try {            Properties properties = new Properties();            properties.load(Mail.class.getResourceAsStream("/Mail.properties"));            // 发件人邮箱用户名            final String userName = properties.getProperty("username");            final String password = AESCodec.decrypt(properties.getProperty("password"));            Session session = Session.getDefaultInstance(properties, new Authenticator() {                public PasswordAuthentication getPasswordAuthentication() {                    // 发件人邮件用户名、密码                    return new PasswordAuthentication(userName, password);                }            });            message = new MimeMessage(session);            message.setFrom(new InternetAddress(userName));            // 设置邮件消息发送的时间            message.setSentDate(new Date());        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * 发送纯文本格式邮件     *      * @param recipient 收件人     * @param subject 主题     * @param text 邮件文本内容     * @return 邮件是否发送成功     */    public static boolean sendTextEmail(String recipient, String subject, String text) {        try {            // Set To: 头部头字段            message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));            // Set Subject: 头部头字段            message.setSubject(subject);            // 设置消息体            message.setText(text);            // 发送消息            Transport.send(message);            System.out.println("Sent message successfully....");            return true;        } catch (Exception e) {            e.printStackTrace();            System.out.println("Sent message failed....");            return false;        }    }    /**     * 发送HTML格式邮件     *      * @param recipient 收件人     * @param subject 主题     * @param html 邮件内容HTML格式     * @return 邮寄是否发送成功     */    public static boolean sendHtmlEmail(String recipient, String subject, String html) {        try {            // Set To: 头部头字段            message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));            // Set Subject: 头部头字段            message.setSubject(subject);            // 创建消息部分            BodyPart body = new MimeBodyPart();            // 设置消息            body.setContent(html, "text/html; charset=utf-8");            // 创建多重消息            Multipart multipart = new MimeMultipart();            multipart.addBodyPart(body);            // 将MiniMultipart对象设置为邮件内容            message.setContent(multipart);            // 发送消息            Transport.send(message);            System.out.println("Sent message successfully....");            return true;        } catch (Exception e) {            e.printStackTrace();            System.out.println("Sent message failed....");            return false;        }    }    public static void main(String[] args) {        testHtml();    }    /**     * 测试发送HTML格式邮件     */    public static void testHtml() {        // 收件人邮箱        String recipient = "hnfch@qq.com";        String subject = "生日快乐!";        StringBuffer content = new StringBuffer();        content.append("");        content.append("");        content.append("

"); content.append("祝你生日快乐!"); content.append("

"); content.append(""); content.append(""); content.append(""); System.out.println(sendHtmlEmail(recipient, subject, content.toString())); }}

 

 

2.   Mail.properties

#QQ#mail.smtp.host=smtp.qq.com#mail.smtp.auth=true#username=#password=#126#mail.smtp.host=smtp.126.com#mail.smtp.port=25#mail.smtp.auth=true#username=#password=#163mail.smtp.host=smtp.163.commail.smtp.port=25mail.smtp.auth=trueusername=k33666@126.compassword=AES加密后的密码

 

转载于:https://www.cnblogs.com/jonban/p/9223067.html

你可能感兴趣的文章
PHP中set_magic_quotes_runtime()和get_magic_quotes_gpc()
查看>>
The sound of silence引发的关于互联网以及教育的利弊思考
查看>>
普华永道全球CEO报告:巴西企业家对未来预期改善
查看>>
自制Kindle电子书转化的实用技巧
查看>>
PyCon 2018:Facebook如何在4年间全面转向Python3?
查看>>
Flutter 布局(三)- FittedBox、AspectRatio、ConstrainedBox详解
查看>>
OkHttp 知识梳理(3) OkHttp 之缓存基础
查看>>
React Native填坑之旅--Stateless组件
查看>>
技术沙龙|区块链商用落地的策略与技术坑-区块链扩展和Fabric商用(杭州)
查看>>
java读写文件大全
查看>>
Spring的常用注解
查看>>
我的友情链接
查看>>
java 防止 XSS 攻击的常用方法总结
查看>>
我的友情链接
查看>>
java.lang.OutOfMemoryError总结
查看>>
IIS下虚拟主机的四种使用方法
查看>>
如何修改redhat7.2的ROOT密码
查看>>
腾讯技术工程 | 腾讯AI Lab解析2017 NIPS三大研究方向,启动教授及学生合作项目...
查看>>
搭建android + cordova环境
查看>>
centos lvs+keepalived 双机实现互备且同为realserver
查看>>