java发带图片正文和附件的邮件mail
package com.mail; import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties; import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility; public class mailtest {
public static MimeMessage createmail(Session se,String send,String recv1,String recv2,String recv3) throws MessagingException, UnsupportedEncodingException {
MimeMessage message=new MimeMessage(se);
message.setSubject("标题","utf-8");
//message.setContent("正文。。。。。","text/html;charset=utf-8");本例用图片代替正文
Address address=new InternetAddress(send,"sengname","utf-8");
message.setFrom(address); //创建图片文本节点
MimeBodyPart imagePart=new MimeBodyPart();
DataHandler dataHandler=new DataHandler(new FileDataSource("t1.jpg"));
imagePart.setDataHandler(dataHandler);
imagePart.setContentID("myimage"); MimeBodyPart textPart=new MimeBodyPart();
textPart.setContent("<image src='cid:myimage '/>","text/html;charset=utf-8"); //组装文本、图片节点
MimeMultipart mimeMultipart=new MimeMultipart();
mimeMultipart.addBodyPart(imagePart);
mimeMultipart.addBodyPart(textPart);
mimeMultipart.setSubType("related");//关联关系
//图片-文本--复合--转普通节点
MimeBodyPart tex_image_tPart=new MimeBodyPart();
tex_image_tPart.setContent(mimeMultipart); //附件
MimeBodyPart aPart=new MimeBodyPart();
DataHandler dataHandler1=new DataHandler(new FileDataSource("t1.jpg"));
aPart.setDataHandler(dataHandler1);
//附件文件名
aPart.setFileName(MimeUtility.encodeText(dataHandler1.getName()));
//组装
MimeMultipart mimeMultipart1=new MimeMultipart();
mimeMultipart1.addBodyPart(tex_image_tPart);
mimeMultipart1.addBodyPart(aPart);
mimeMultipart1.setSubType("mixd");//混合关系 message.setContent(mimeMultipart1,"text/html;charset=utf-8"); message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(recv1,"shoujianren1","utf-8"));//发送shojianren
message.setRecipient(MimeMessage.RecipientType.CC, new InternetAddress(recv2,"shoujianren2","utf-8"));//抄送
message.setRecipient(MimeMessage.RecipientType.BCC, new InternetAddress(recv3,"shoujianren3","utf-8"));//密送
message.setSentDate(new Date()); message.saveChanges();
return message; }
public static void main(String[] args) throws MessagingException, UnsupportedEncodingException {
// TODO Auto-generated method stub
Properties props=new Properties(); props.setProperty("mail.transport.protocol", "smtp");// 使用的协议(JavaMail规范要求)
props.setProperty("mail.smtp.host", "smtp.qq.com");
props.setProperty("mail.smtp.port","465");//设置端口 // 发件人的邮箱的 SMTP 服务器地址
props.setProperty("mail.smtp.auth", "true");// 需要请求认证 // 需要请求认证;只有qq有这一项
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.port", "465"); Session se=Session.getInstance(props);
se.setDebug(true);//dayin运行信息
MimeMessage message=createmail(se, "1215230335@qq.com", "1215230335@qq.com", "1215230335@qq.com", "1215230335@qq.com"); Transport transport=(Transport) se.getTransport(); transport.connect("1215230335@qq.com", "slxptfnnjocgicdi");//动态授权码
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} }
java发带图片正文和附件的邮件mail的更多相关文章
- java带图片的邮件发送方法实现
package sendEmail; import java.util.Properties; import javax.activation.DataHandler; import javax.ac ...
- [Java] JavaMail 发送带图片的 html 格式的邮件
JavaMail 发送的邮件正文和附件是相互独立的,但是内置图片需要定位图片在正文中的位置,所以内置图片和邮件正文是互相依赖的. 发送带附件的邮件可参考JavaMail 发送 html 格式.带附件的 ...
- java发送带附件的邮件
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- [Java] JavaMail 发送 html 格式、带附件的邮件
本案例演示发送 html 格式,可带附件的邮件发送.发送纯文本邮件的例子可参照上一篇博文JavaMail 简单案例. EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名 ...
- C#操作EML邮件文件实例(含HTML格式化邮件正文和附件)
使用QQ邮箱.163邮箱等导出的EML邮件,包含了邮件的发件人.主题.内容.附件等所有信息,该实例就如何解析这些信息,并在编辑后保存做个Demo. 如下图所示,EML文件是编码后的文本文件,可以使用正 ...
- 邮件正文及其附件的发送的C++实现
这段代码我花了整整一天来编写,假设转载,请注明出处,谢谢! 前面的一篇文章已经讲了怎样发送邮件正文,原理我就不再叙述了.要了解的同学请到这里查看! http://blog.csdn.ne ...
- Python连载56-发送带有附件、正文为HTML的邮件
一.HTML格式怎么发送右键 1.准备HTML代码作为内容 2.把邮件的subtype设置为html 3.发送 4.举个例子:自己发给自己一个HTML格式的文件 from email.mime.tex ...
- Python发带附件的邮件
python实现发送带附件的邮件 import smtplib from email.mime.text import MIMEText from email.mime.multipart impor ...
- 【Mail】JavaMail发送带附件的邮件(二)
上一篇讲了使用JavaMail发送普通邮件([Mail]JavaMail介绍及发送邮件(一)),本例讲发送复杂的邮件(带有附件的邮件) 生成一封复杂的邮件 新建一个JavaWeb的Maven工程,引入 ...
随机推荐
- Vue使用lib-flexible,将px转化为rem
1.下载lib-flexible 我使用的是vue-cli+webpack,所以是通过npm来安装的 npm i lib-flexible --save 2.引入lib-flexible 在main. ...
- ListView 分页显示(转载+修改)下
通过实践发现,尚大大在判断”上一页“按钮和”下一页按钮“是否可用的地方,有问题: 原代码: public void checkButton(){ //索引值小于等于0,表示不能向前翻页了,以经到了第一 ...
- JS-监听整个页面上的DOM树变化
# [在线预览](https://jsfiddle.net/1010543618/fyf913t0/) ## 方法 - 使用<Web API 接口>的<MutationObserve ...
- centos为用户添加sudo功能
su chmod a+w /etc/sudoers vim /etc/sudoers [找到root ALL=(ALL) ALL这行] 复制出新的一行,并且将root改为daniel(当前用户名) c ...
- Gym 102082B : Arithmetic Progressions
戳这里看题目吧! 题目大意:给你一个长度为n(2<=n<=5000)的序列,没有重复的数字,序列中每个元素满足(0<=numi<=1e9).求一个最长的数列满足差分值相同(除n ...
- [bzoj4589]Hard Nim(FWT快速沃尔什变化+快速幂)
题面:https://www.lydsy.com/JudgeOnline/problem.php?id=4589 题意 求选恰好n个数,满足每个数都是不大于m的质数,且它们的异或和为0的方案数. 解法 ...
- VC2008中如何为MFC应用程序添加和删除消息响应函数
最近重温<MFC Windows应用程序设计>第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境. VC2008下添加和删除常见的消息响应函数有两种 ...
- 如何深入理解Java泛型
一.泛型的作用与定义 1.1泛型的作用 使用泛型能写出更加灵活通用的代码泛型的设计主要参照了C++的模板,旨在能让人写出更加通用化,更加灵活的代码.模板/泛型代码,就好像做雕塑时的模板,有了模板,需要 ...
- oracle数据库 唯一约束的创建与删除
1.创建索引: alter table TVEHICLE add constraint CHECK_ONLY unique (CNUMBERPLATE, CVIN, CPLATETYPE, DWQCH ...
- python_面向对象,类名称空间,对象名称空间,组合
创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量(字段) 动态属性就是定义在类中的方法 其中类 ...