javamail调用阿里企业邮箱实现推送包括多个附件
公司的一个项目需要用到邮件推送,现在是交付期,浮生半日闲,我也记录一下吧.
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调用阿里企业邮箱实现推送包括多个附件相关推荐
- Springboot整合JavaMail通过阿里企业邮箱发验证码
介绍 产品最近又想出了新的优化app体验感的方法,第三方登录,包括QQ.微信.苹果账号还有邮箱...现在还有人用邮箱登录???对不起,还是有的.于是,我顺手百度了一篇经验文,先用163邮箱试水.登录. ...
- 阿里云服务器qq邮箱无法推送问题
记阿里云使用QQ邮箱服务推送问题 阿里云是禁用25端口 改用 465 端口 或者 578端口 ps: 看有些网友说465可以,有一些465又不行,我自己的465不行用了587
- 5120v2怎么配置web登陆_阿里企业邮箱如何配置和添加到第三个电子邮件客户端中?...
我们常见的第三方邮箱客户端有:Outlook.Thunderbird.Live mail.Web客户端.畅邮(DM Pro)客户端等,下面用畅邮(DM Pro)为例. 流程 一.配置信息 企业邮箱PO ...
- 企业微信消息推送卡片按钮互动的使用
企业微信回调推送消息互动模板 前置条件 # 企业微信后台中设置了url 按以上设置 # 回调url: http://www.baidu.com# token: xxxxx# EncodingAESKe ...
- Node-Red 实践:企业微信消息推送
一个偶然的机会,认识了node-red.这种拖拽控件编写代码的方式给了我很深刻的印象.能够通过简单的拖拽实现mqtt,http,websocket,tcp的服务,作为基于网络的业务流程demon非常方 ...
- Spring Boot 实现企业微信消息推送
1 Maven依赖 <!-- 阿里JSON解析器 --><dependency><groupId>com.alibaba</groupId><ar ...
- 企业微信机器人推送mysql_Zabbix.5.0设置企业微信群机器人推送告警信息
一.企业微信端配置 1.创建微信群机器人 在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择"添加群机器人",设置机器人名称,系统自动生成此机器人的webho ...
- 企业微信消息推送接口大全
该类存放接口所用到的企业微信的接口地址 package com.common;public final class QyapiUrl {/*** 请求nginx转发服务器地址*/public stat ...
- python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误
class SendEmail(object):def __init__(self, type, to_addr):self.to_addr = to_addrself.sys_date = time ...
最新文章
- 《计算机图形学》2.1.7 立体感和虚拟现实系统
- python mysqldb安装_Flask干货:访问数据库——Python数据库框架MySQLPython
- Error Domain=NSCocoaErrorDomain Code=3840 JSON text did not start with array or object and option
- iQOO Z1于10月21日开启双十一钜惠,最高立减200元
- React Hooks 梳理
- Ubuntu 12 ssh 安装 终端命令 报软件依赖 错误(未解决)
- java 视频截图_获取视频截图
- 打开 Windows 10 默认共享
- 聊天室应用开发实践(二):实现基于 Web 的聊天室
- 0基础不用怕,从0到1轻松教你入门Python
- 踩方格(空间压缩+动态规划+暴力递归)
- mqtt简介及在web端的应用(接入阿里iot)
- frida hook svc调用
- python学习之——综合小游戏
- GitHub开源:支持100多种语言的OCR文字识别
- 【PCB叠层设计与阻抗计算】1.PCB板材介绍
- xp如何开启系统打印服务器配置,XP系统设置打印机共享的方法有哪些
- 我喜欢的刀刀______扮演别人快乐么?
- Android短信之SmsManager类,flutter推送通知
- 前端用户关闭浏览器时,后端判断是否退出