公司内部邮箱服务器发送邮件 java版
原文链接:https://blog.csdn.net/jsjsjs1789/article/details/53352409
背景:
由于需要给合作方以压缩包的形式每天返回数据,基于我们自己写的分布式程序,而月末通过返回的数据,来与合作方进行对账,所以每天数据返回的成败就至关重要了,但又懒得每天去查看日志,刚好借助一下公司内部的邮件服务器。
go、go、go
package test.util;import org.apache.log4j.Logger;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;/*** Created by shengjk1 on 2016/11/4.* Blog Address:http://blog.csdn.net/jsjsjs1789*/
public class SendMail {private static Logger logger = Logger.getLogger(SendMail.class);private static SendMail instance = null;private SendMail() {}public static SendMail getInstance() {if (instance == null) {instance = new SendMail();}return instance;}public void send(String to[], String cs[], String ms[], String subject,String content, String formEmail, String fileList[]) {try {Properties p = new Properties(); // Properties p =// System.getProperties();p.put("mail.smtp.auth", "true");p.put("mail.transport.protocol", "smtp");p.put("mail.smtp.host", "xxxxx");//邮件服务器的地址p.put("mail.smtp.port", "25");// 建立会话Session session = Session.getInstance(p);Message msg = new MimeMessage(session); // 建立信息BodyPart messageBodyPart = new MimeBodyPart();Multipart multipart = new MimeMultipart();msg.setFrom(new InternetAddress(formEmail)); // 发件人String toList = null;String toListcs = null;String toListms = null;// 发送,if (to != null) {toList = getMailList(to);new InternetAddress();InternetAddress[] iaToList = InternetAddress.parse(toList);msg.setRecipients(Message.RecipientType.TO, iaToList); // 收件人}// 抄送if (cs != null) {toListcs = getMailList(cs);new InternetAddress();InternetAddress[] iaToListcs = InternetAddress.parse(toListcs);msg.setRecipients(Message.RecipientType.CC, iaToListcs); // 抄送人}// 密送if (ms != null) {toListms = getMailList(ms);new InternetAddress();InternetAddress[] iaToListms = InternetAddress.parse(toListms);msg.setRecipients(Message.RecipientType.BCC, iaToListms); // 密送人}msg.setSentDate(new Date()); // 发送日期msg.setSubject(subject); // 主题msg.setText(content); // 内容// 显示以html格式的文本内容messageBodyPart.setContent(content, "text/html;charset=utf-8");multipart.addBodyPart(messageBodyPart);// 2.保存多个附件if (fileList != null) {addTach(fileList, multipart);}msg.setContent(multipart);// 邮件服务器进行验证Transport tran = session.getTransport("smtp");tran.connect("xxx", //邮件服务器地址 "shengjk1@xxx.cn",//邮箱地址"p@ssw0rd");//邮箱的密码tran.sendMessage(msg, msg.getAllRecipients()); // 发送System.out.println("邮件发送成功");} catch (Exception e) {logger.info("邮件发送时异常",e);}}// 添加多个附件public void addTach(String fileList[], Multipart multipart)throws MessagingException, UnsupportedEncodingException {for (int index = 0; index < fileList.length; index++) {MimeBodyPart mailArchieve = new MimeBodyPart();FileDataSource fds = new FileDataSource(fileList[index]);mailArchieve.setDataHandler(new DataHandler(fds));mailArchieve.setFileName(MimeUtility.encodeText(fds.getName(),"utf-8", "B"));multipart.addBodyPart(mailArchieve);}}private String getMailList(String[] mailArray) {StringBuffer toList = new StringBuffer();int length = mailArray.length;if (mailArray != null && length < 2) {toList.append(mailArray[0]);} else {for (int i = 0; i < length; i++) {toList.append(mailArray[i]);if (i != (length - 1)) {toList.append(",");}}}return toList.toString();}public static void forSend(String subject,String content){SendMail send = SendMail.getInstance();String to[] = { "shengjk1@xxx.cn"};//收件人的地址String cs[] = null;String ms[] = null;if(content==null||content.length()==0){content = "这是邮件内容,仅仅是测试,不需要回复";}String fromEmail = "shengjk1@xxx.cn";//发件人的地址String[] arrArchievList = null;// 2.保存多个附件send.send(to, cs, ms, subject, content, fromEmail, arrArchievList);}// public static void main(String args[]) {// forSend(null);
// }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
pom.xml文件
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4</version></dependency>
- 1
- 2
- 3
- 4
- 5
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/production/markdown_views-68a8aad09e.css"></div>
公司内部邮箱服务器发送邮件 java版相关推荐
- 内部排序比较(Java版)
内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法 1.1 插入排序 1.2 交换排序(冒泡) 1.3 选择排序(简单) 2 比较 3 补充 3.1 快速排序 3.2 什么是 ...
- 公司内部邮箱如何注册呢?外贸企业邮箱价格多少钱?
做外贸的都知道公司内部邮箱的必要性.跟国外的客户沟通交流,使用公司邮箱往来沟通更正式.专业可靠,更能赢得客户的信息.目前市面上企业邮箱品牌规模大的品牌,网易.TOM.腾讯.阿里,到底外贸企业邮箱哪家好 ...
- 使用telnet程序连接qq smtp协议邮箱服务器发送邮件
使用telnet程序连接qq smtp协议邮箱服务器发送邮件 1. telnet简介 2. 使用telnet程序连接qq邮箱服务器(以centos为例) 1. telnet简介 Telnet是一种应用 ...
- 使用telnet通过qq的SMTP邮箱服务器发送邮件
使用telnet通过qq的SMTP邮箱服务器发送邮件 telnet的安装 开启账号的SMTP服务,获取授权码 使用telnet发邮件 telnet的安装 telnet是Windows的一个远程连接工具 ...
- java qq邮箱服务器端口_spring mail借助qq邮箱服务器发送邮件
spring mail封装了javaMail的邮件服务,让邮件服务使用起来更简单,下面以qq邮箱服务器为例,用spring mail服务来发送邮件 配置qq邮箱,"设置"--&qu ...
- java内置排序有哪些_内部排序比较(Java版)
内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法 1.1 插入排序 public static void InsertSort(int[] arrs) {intj;intt ...
- SMTP邮箱服务器发送邮件
python实现邮件发送 python使用邮箱服务器发送qq邮件 对发送邮件的代码进行封装成函数后调用 导入需要使用的库 import smtplib from email.mime.multipar ...
- 企业内部邮箱有哪些好用,怎么注册申请公司内部邮箱
企业内部邮箱是公司员工用的邮箱,工作上收发的邮件都会用公司的内部邮箱.有的公司会贪图节约成本,让员工用自己的个人邮箱收发工作上的邮件,而这么做既不安全也不利于企业管理.企业内部邮箱有哪些品牌,怎么注册 ...
- grafana授权公司内部邮箱登录 ldap配置
vi /etc/grafana/grafana.ini (文件不一定是这个噢,看自己启动服务的配置文件) 修改配置: [auth.ldap] enabled = true config_file ...
最新文章
- usaco ★Subset Sums 集合
- Scala数组的mkString()方法
- 算法竞赛入门经典 写题笔记(第五章 图论算法与模型2)
- 关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID
- IOS图标 HTML规范,IOS用户界面(UI)设计规范图表——APP设计师必看!
- @Configuration使用
- Java多线程问题之同步器CyclicBarrier
- Codeforces D. Genius‘s Gambit
- 重磅!2022年JCR正式发布(附最新影响因子详单)
- MC9S12相关模块
- QL-Emotion(FDD3.0)教程
- 插上U盘没反应/U盘不显示/显示U盘图标但是不显示盘符
- 娱乐圈有缘无份的明星
- 将实际环节都拆成了理论公式后,做好抽奖活动其实不难!
- Mothur5进阶_Mothur扩增子基因序列分析_基于OTU或ASV的多样性指数分析
- FileZilla软件的下载、服务器站点配置与数据传输方法
- Kuberneters企业级容器云平台落地实践之二
- 介绍分享几款免费的在线Web文件管理器
- Python网络爬虫实践简答题
- 个人LaTeX笔记(九)
热门文章
- spring cloud 之 Ribbon
- 雪亮工程、平安城市以及天网工程这三者有什么区别?
- 将AAB(Android App Bundle)转换为APK
- 【DS实践 | Coursera】Assignment 2 | Applied Plotting, Charting Data Representation in Python
- 让群众少跑腿数据多跑路,华为云Stack助力上海政务跑出“极速”
- php过滤特殊表情符号(亲测可用)
- 航空航天空气动力学高性能计算解决方案
- Liunx yun 安装 mysql5.7
- Linux进程通信-管道
- 使用 Acrobat 将 PDF 转换为 Word