java 邮件(2)
/**
* 方法描述:发送带附件的邮件
*
* @throws UnsupportedEncodingException
*/
public static boolean sendEmailWithAttachment(Email email)
throws UnsupportedEncodingException {
Properties prop = new Properties();
prop.put("mail.smtp.host", mailServer);
prop.put("mail.smtp.auth", "true");
Authenticator auth = new MailAuthenticator();
Session session = Session.getDefaultInstance(prop, auth);
Message message = new MimeMessage(session);
boolean flag = false;
try {
message.setSubject(email.getEmail_subject());// 设置邮件主题
message.setHeader("Header:", email.getEmail_header()); // 设置邮件标题
message.setSentDate(new Date()); // 设置发送时间
Address addressFrom = new InternetAddress(mailAddress, mailAccount); // 设置发信人地址
message.setFrom(addressFrom);
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(email.getEmail_content(), "text/html;charset=utf-8");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
MimeBodyPart mimeBodyPart;
//多个附件
for (int i = 0; i < email.getEmail_file().size(); i++) {
Map<String, String> map = email.getEmail_file().get(i);
String fileSource="";
String fileName="";
for (String key : map.keySet()) {
fileSource = key;
fileName = map.get(key);
}
mimeBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(fileSource);
mimeBodyPart.setDataHandler(new DataHandler(source));
mimeBodyPart.setFileName(MimeUtility.encodeText(fileName));
multipart.addBodyPart(mimeBodyPart);// Put parts in
}
message.setContent(multipart);
// 设置多个收件人地址
List<String> list = email.getEmail_to();
String toAddress = SendEmail.getAddress(list);
InternetAddress[] internetAddressTo = new InternetAddress().parse(toAddress);
message.setRecipients(Message.RecipientType.TO, internetAddressTo);
// 设置多个抄送地址
String ccAddress = SendEmail.getAddress(email.getEmail_cc());
InternetAddress[] internetAddressCC = new InternetAddress().parse(ccAddress);
message.setRecipients(Message.RecipientType.CC, internetAddressCC);
message.saveChanges();
System.out.println("开始发送邮件……");
Transport.send(message);
System.out.println("发送成功!");
flag = true;
} catch (MessagingException e) {
System.out.println("发送失败!");
flag = false;
e.printStackTrace();
}
return flag;
}
java 邮件(2)的更多相关文章
- JAVA邮件发送的简单实现
JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注 ...
- java邮件发送(以163邮箱为例)
1.首先应该开通163邮箱的smtp和pop3,得到授权码 2.其次建立一个web项目,否则需要倒jar包mail.jar 3.创建一个类 4.注意:邮件内容必须为正式话语,否则系统会认为是垃圾邮件而 ...
- 传智播客张孝祥java邮件开发随笔01
01_传智播客张孝祥java邮件开发_课程价值与目标介绍 02_传智播客张孝祥java邮件开发_邮件方面的基本常识 03_传智播客张孝祥java邮件开发_手工体验smtp和pop3协议 第3课时 关于 ...
- java-基于JavaMail的Java邮件发送
1.基于JavaMail的Java邮件发送:简单邮件发送 2.基于JavaMail的Java邮件发送:复杂邮件发送
- web基础---->java邮件的发送
这里记录一下关于java邮件发送代码的编写.你在我身边也好,在天边也罢,想到世界的角落有一个你,觉得整个世界也变得温柔安定了. java邮件的发送 一.直接贴出代码,如下: package com.c ...
- java 邮件发送工具类【来源网络自己已经实际应用】
最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载htt ...
- java邮件开发
一.邮件协议: (重点)SMTP:发送邮件的协议.Simple Message Transfer Protocal.默认端口:25 POP:邮局协议(收件协议).Post Office Protoca ...
- 基于JavaMail的Java邮件发送:复杂邮件发送
参考:http://blog.csdn.net/xietansheng/article/details/51722660package com.bfd.ftp.utils;import java.ut ...
- java邮件发送(含附件)
1. [代码]java邮件发送(含附件)疯狂的IT人站长整理的:利用Java发送邮件(含附件)的例子:1.邮件发送的配置propertity文件内容如下:(utils.properties文件放在sr ...
- java邮件发送工具
最近在web项目中,客户端注册时需要通过邮箱验证,服务器就需要向客户端发送邮件,我把发送邮件的细节进行了简易的封装: 在maven中需要导入: <!--Email--> <depen ...
随机推荐
- ubuntu下使用OBS开斗鱼直播
系统环境:ubuntu 15.10,OBS Studio 0.13.1 OBS是可以在linux,windows,mac下直播的开源软件,官方地址:https://obsproject.com/ 斗鱼 ...
- 转:C#制作ORM映射学习笔记三 ORM映射实现
现在开始实现ORM的主体模块,首先需要在项目中新建一个类,命名为DbAccess,然后在项目的引用中添加两个dll,分别是MySql.Data.dll和System.Data.SQLite.dll,这 ...
- unittest框架及自动化测试
之前在公司做过自动化测试的知识分享,现在把它记录下来. •一.如何更好的编写测试用例 •1.模块化:将一些基础的.共有的步骤代码独立为单独的模块,使用时再调用.好处:可以使代码复用,减少代码编写, ...
- hdu 3657 最小割的活用 / 奇偶方格取数类经典题 /最小割
题意:方格取数,如果取了相邻的数,那么要付出一定代价.(代价为2*(X&Y))(开始用费用流,敲升级版3820,跪...) 建图: 对于相邻问题,经典方法:奇偶建立二分图.对于相邻两点连边2 ...
- 四、Ubuntu 一些常用命令
1.锁定root用户 :sudo passwd -l root 2.解锁root用户 :sudo passwd -u root 3.切换身份:su root 或者 su 其他用户名,然后输入密码, ...
- BeanFactory和ApplicationContext的异同
相同: Spring提供了两种不同的IOC 容器,一个是BeanFactory,另外一个是ApplicationContext,它们都是Java interface,ApplicationContex ...
- javascript中各种继承方式的优缺点
javascript中实现继承的方式有很多种,一般都是通过原型链和构造函数来实现.下面对各种实现方式进行分析,总结各自的优缺点. 一 原型继承 let Super = functioin(name = ...
- linux查看端口状态相关命令
netstat netstat 命令应用是比较频繁的,比如查看端口占用啦,查看端口进程啦,这些时候都是有必要的. netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示 ...
- DotnetBrowser入门教程-(2)启动简单的Web服务
微软的网页服务向来与IIS捆绑紧密,虽然.net core可以脱离iis了,但是基于国内的xp系统,.net core类库的精简,使得我们仍然在dotnetbrowser增加了对web服务的支持. 先 ...
- Yii2 数据操作Query Builder
转载地址: http://blog.csdn.net/hzqghost/article/details/44117081 Yii2 数据操作Query Builder 分类: Yii22015-03- ...