实用代码|javaMail发送邮件(文末重磅资源!)

每天进步一点点,距离大腿又近一步!阅读本文大概需要5分钟

JavaMail发送邮件,简单实用,了解一下呗~

1.开启邮箱MAP/SMTP服务,获取第三方授权码

以QQ邮箱为例

实用代码|javaMail发送邮件(文末重磅资源!)_第1张图片
image

2.主要代码

maven依赖

    javax.mail    mail    1.4    javax.activation    activation    1.1

Email工具类

public class EmailUtil {    // 发件人电子邮箱    private static String from = "[email protected]";    // 指定发送邮件的服务器    private static String host = "smtp.qq.com";    // 获取系统属性    private static Properties properties = System.getProperties();    private static MimeMessage message;     static       {           // 设置邮件服务器           properties.setProperty("mail.smtp.host", host);           //设置邮件服务器端口号(默认为25)           properties.setProperty("mail.smtp.port", "587");           // 是否用户认证           properties.put("mail.smtp.auth", "true");           // 获取默认session对象          Session session = Session.getDefaultInstance(properties,new Authenticator(){            public PasswordAuthentication getPasswordAuthentication()            {                //发件人邮件用户名、密码(有些可直接使用登录密码,                //而QQ邮箱需要使用第三方授权码,这个需要根据邮箱判断)                return new PasswordAuthentication("[email protected]", "XXXXXXX");             }           });          try{             // 创建默认的 MimeMessage 对象              message = new MimeMessage(session);             // Set From: 头部头字段             message.setFrom(new InternetAddress(from));          }catch (MessagingException mex) {             mex.printStackTrace();          }       }     static public void sendEmail(String toUser,String ccUser,String headTitle,String htmlContent){         try {            //使用的单例模式,发送过邮件后,message中收件人,抄送人等信息不会被清空,需手动清空            //清空收件人            message.removeHeader(Message.RecipientType.TO.toString());            //添加多个收件人            message.addRecipients(Message.RecipientType.TO, new InternetAddress().parse(toUser));            //清空抄送人            message.removeHeader(Message.RecipientType.CC.toString());            //添加多个抄送人             message.setRecipients(Message.RecipientType.CC, new InternetAddress().parse(ccUser));             // 设置标题             message.setSubject(headTitle);             // 设置纯文本内容             //message.setText("测试文本", "utf-8");             // 设置html格式内容             message.setText(htmlContent, "utf-8", "html");             // 发送消息             Transport.send(message);             System.out.println("----------------Sent Email successfully------------");        } catch (AddressException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (MessagingException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }     }     static public String createHtmlContent(){         return ""                + ""                + ""                + ""                + "

尊敬的xxx用户:

" + "

您好!

" + "

您有一个审批工单待处理,可点击工单号跳转进入系统

" + "" + "" + "" + "" + "" + "" + "
工单号工单状态工单类型申请日期申请人创建时间
GD12345待审批保障工单2018-07-60张三2018-07-6 21:56:00
" + "

若未登录系统,请登录系统后,重新点击工单号进入工单详情页面

" + "

邮件来自【XXX系统】自动提醒,无需回复。

" + ""; } public static void main(String[] args){ sendEmail("[email protected]","[email protected],[email protected]","标题:xxx",createHtmlContent()); }

运行代码,邮件发送成功啦~

实用代码|javaMail发送邮件(文末重磅资源!)_第2张图片
image

重磅好消息:小编考虑到同学们对学习资源的迫切需求,近期将整理出学习视频库和电子书库,你想要的资源全在这里,该资源永久有效,不断更新,敬请期待!

你若对某方向的资源迫切需要,可添加小编微信【381793016】,备注【资源:XXX】,小编将重点整理!

热门阅读:

java面试| 精选基础题(1)

java面试|精选基础题(2)

【推荐两款神器】不限速下载、追剧神器

实用代码| shell脚本实现定时检查应用状态

end~thanks!

image

欢迎关注微信“java从心”
一个立志成大腿而每天努力奋斗的年轻人
期待你的到来!

实用代码|javaMail发送邮件(文末重磅资源!)_第3张图片
image

如果觉得文章不错,请点个赞、分享给你的朋友呗!

你可能感兴趣的:(实用代码|javaMail发送邮件(文末重磅资源!))