公司的一个项目需要用到邮件推送,现在是交付期,浮生半日闲,我也记录一下吧.

1.搭建maven工程;

2.下载mailjar包,https://share.weiyun.com/5QyJvwv,在resources下新建lib文件目录,将jar包粘贴到里面,导入javax.mail本地依赖;

参考格式:

<!--添加本地的javax.mail.jar包 后续把这个jar包上传仓库-->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/resources/lib/mail.jar</systemPath>
        </dependency>

3.源代码:

package com.xx.xx.utils;import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;/*** @Description 发送邮箱* @Author * @Date 2019/1/14 9:43*/
public class BusinessEmail {private static Log logger = LogFactory.getLog(BusinessEmail.class);//smtp.mxhichina.com  服务器private static final String host = "smtp.mxhichina.com";//协议private static final String protocol = "smtp";private static String name = "企业邮箱账号";private static String pwd = "密码";private static String from = "发送者,与企业邮箱账号相同";private static String nickName = "某某某有限公司";/**** @param to    发送给谁* @param cc    抄送给谁* @param title     邮件标题* @param content   邮件文本,支持html标签* @param fileAddress   上传的附件,可以是多个,只能传本地,不能传网络文件*/public static void sendEmail(String to, String cc, String title, String content, List<String> fileAddress){Properties properties = new Properties();try {properties.setProperty("mail.host", host);properties.setProperty("mail.transport.protocol", protocol);properties.setProperty("mail.smtp.auth","true");Session session = Session.getInstance(properties);session.setDebug(true);Transport transport = session.getTransport();transport.connect(name,pwd);MimeMessage message = new MimeMessage(session);message.setFrom(new InternetAddress(from,nickName,"utf-8"));message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));message.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc));message.setSubject(title);Multipart multipart = new MimeMultipart();BodyPart bodyPart = new MimeBodyPart();bodyPart.setContent("<meta http-equiv=Content-Type content=text/html; charset=UTF-8>" + content, "text/html;charset=UTF-8");multipart.addBodyPart(bodyPart);if (fileAddress != null && fileAddress.size() > 0){for (String file :fileAddress) {BodyPart part = new MimeBodyPart();FileDataSource fileDataSource = new FileDataSource(file);part.setDataHandler(new DataHandler(fileDataSource));//System.out.println("==========================" + fileDataSource.getName() + "============");part.setFileName(MimeUtility.encodeText(fileDataSource.getName(),"utf-8",null));multipart.addBodyPart(part);}}message.setContent(multipart,"text/html;charset=utf-8");transport.sendMessage(message,message.getAllRecipients());System.out.println("waiting....5s左右就ok");}catch (Exception e){logger.info("err in BusinessEmail.sendEmail");}}}

javamail调用阿里企业邮箱实现推送包括多个附件相关推荐

  1. Springboot整合JavaMail通过阿里企业邮箱发验证码

    介绍 产品最近又想出了新的优化app体验感的方法,第三方登录,包括QQ.微信.苹果账号还有邮箱...现在还有人用邮箱登录???对不起,还是有的.于是,我顺手百度了一篇经验文,先用163邮箱试水.登录. ...

  2. 阿里云服务器qq邮箱无法推送问题

    记阿里云使用QQ邮箱服务推送问题 阿里云是禁用25端口 改用 465 端口 或者 578端口 ps: 看有些网友说465可以,有一些465又不行,我自己的465不行用了587

  3. 5120v2怎么配置web登陆_阿里企业邮箱如何配置和添加到第三个电子邮件客户端中?...

    我们常见的第三方邮箱客户端有:Outlook.Thunderbird.Live mail.Web客户端.畅邮(DM Pro)客户端等,下面用畅邮(DM Pro)为例. 流程 一.配置信息 企业邮箱PO ...

  4. 企业微信消息推送卡片按钮互动的使用

    企业微信回调推送消息互动模板 前置条件 # 企业微信后台中设置了url 按以上设置 # 回调url: http://www.baidu.com# token: xxxxx# EncodingAESKe ...

  5. Node-Red 实践:企业微信消息推送

    一个偶然的机会,认识了node-red.这种拖拽控件编写代码的方式给了我很深刻的印象.能够通过简单的拖拽实现mqtt,http,websocket,tcp的服务,作为基于网络的业务流程demon非常方 ...

  6. Spring Boot 实现企业微信消息推送

    1 Maven依赖 <!-- 阿里JSON解析器 --><dependency><groupId>com.alibaba</groupId><ar ...

  7. 企业微信机器人推送mysql_Zabbix.5.0设置企业微信群机器人推送告警信息

    一.企业微信端配置 1.创建微信群机器人 在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择"添加群机器人",设置机器人名称,系统自动生成此机器人的webho ...

  8. 企业微信消息推送接口大全

    该类存放接口所用到的企业微信的接口地址 package com.common;public final class QyapiUrl {/*** 请求nginx转发服务器地址*/public stat ...

  9. python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误

    class SendEmail(object):def __init__(self, type, to_addr):self.to_addr = to_addrself.sys_date = time ...

最新文章

  1. 《计算机图形学》2.1.7 立体感和虚拟现实系统
  2. python mysqldb安装_Flask干货:访问数据库——Python数据库框架MySQLPython
  3. Error Domain=NSCocoaErrorDomain Code=3840 JSON text did not start with array or object and option
  4. iQOO Z1于10月21日开启双十一钜惠,最高立减200元
  5. React Hooks 梳理
  6. Ubuntu 12 ssh 安装 终端命令 报软件依赖 错误(未解决)
  7. java 视频截图_获取视频截图
  8. 打开 Windows 10 默认共享
  9. 聊天室应用开发实践(二):实现基于 Web 的聊天室
  10. 0基础不用怕,从0到1轻松教你入门Python
  11. 踩方格(空间压缩+动态规划+暴力递归)
  12. mqtt简介及在web端的应用(接入阿里iot)
  13. frida hook svc调用
  14. python学习之——综合小游戏
  15. GitHub开源:支持100多种语言的OCR文字识别
  16. 【PCB叠层设计与阻抗计算】1.PCB板材介绍
  17. xp如何开启系统打印服务器配置,XP系统设置打印机共享的方法有哪些
  18. 我喜欢的刀刀______扮演别人快乐么?
  19. Android短信之SmsManager类,flutter推送通知
  20. 前端用户关闭浏览器时,后端判断是否退出

热门文章

  1. Tableau权限设置
  2. 阿里云搭建自己的anki服务器
  3. Element-Ui记录(三)——字体色彩按钮边框
  4. 小学数学开灯问题_二年级数学算式大全
  5. pycharm中导入模块
  6. Django介绍,mvc设计模式及mvt设计模式介绍及对比
  7. 直播中常用的美颜sdk动态贴纸功能是什么?技术怎么实现的?
  8. 美颜SDK的动态贴纸有哪些妙用?
  9. HDR视频色调映射算法(之四:Display adaptive TMO)
  10. 异常统一处理[ExceptionAdvice](SpringMVC)