项目源码下载:http://download.csdn.net/detail/liangrui1988/6720047

效果图:

相关代码:

test1

package com.mail;import java.util.Properties;import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/*** com.mail.reference下面的是在网上找的,还没来得级看* Test 是本人写的,并都测试成功发送了的    邮箱和密码换成你自已的,* 可能会遇到一个问题, 就是要把你自已myeclipse的javaee.jar文件中的mail包给删掉* 他们会冲突,自已到网上找一个具体的操作吧!* @author liangrui**/public class Test1 {public static void main(String[] args) throws Exception {System.out.println("hello....");Properties perps=new Properties();//认证perps.setProperty("mail.smtp.auth", "true");//协议perps.setProperty("mail.transport.protocol", "smtp");Session session=Session.getInstance(perps);Message mes=new MimeMessage(session);     //收件 内容  、 人mes.setText(" hello worldddddddddddddddddd"); //设置发件人地址mes.setFrom(new InternetAddress("liangrui_1988@126.com"));//发件信息Transport transport=session.getTransport();transport.connect("smtp.126.com",25,"liangrui_1988","******");//收件人transport.sendMessage(mes, new Address[]{new InternetAddress("liangrui_1988@sina.com")});transport.close();System.out.println("-----");}}

test2

package com.mail;import java.util.Properties;import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;public class Test2 {/*** @param args* @throws MessagingException */public static void main(String[] args) throws Exception {//邮件Properties设置============================================Properties pro=new Properties();//认证pro.setProperty("mail.smtp.auth", "true");//协议pro.setProperty("mail.transport.protocol", "smtp");//主机 指定服务器 端口默认pro.setProperty("mail.host", "smtp.sina.com");//邮件Session设置============================================Session session= Session.getInstance(pro,new Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {//用户名密码return new PasswordAuthentication("liangrui_1988","******");}});//邮件信息设置============================================Message ms=new MimeMessage(session);//地址 发件人ms.setFrom(new InternetAddress("liangrui_1988@sina.com"));//主题ms.setSubject("你好吗!这是邮件主题");//地址 收件人ms.setRecipients(RecipientType.TO,InternetAddress.parse("liangrui_1988@126.com,liangrui_1988@sohu.com,liangrui_1988@sohu.com"));//内容ms.setContent("<span style='color:red'>文本内容 呆呆呆呵呵</span>","text/html;charset=gbk");//发射=================================    Transport.send(ms);System.out.println("okkk--------------");}}

test2222demo

package com.mail;import java.io.FileInputStream;
import java.util.Properties;import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;public class Test2Demo {/*** @param args* @throws MessagingException */public static void main(String[] args) throws Exception {//邮件Properties设置============================================Properties pro=new Properties();//认证pro.setProperty("mail.smtp.auth", "true");//协议pro.setProperty("mail.transport.protocol", "smtp");//主机 指定服务器 端口默认pro.setProperty("mail.host", "smtp.sina.com");//邮件Session设置============================================Session session= Session.getInstance(pro,new Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {//用户名密码return new PasswordAuthentication("liangrui_1988","******");}});//邮件信息设置============================================/*Message ms=new MimeMessage(session);//地址 发件人ms.setFrom(new InternetAddress("liangrui_1988@sina.com"));//主题ms.setSubject("你好吗!这是邮件主题");//地址 收件人ms.setRecipients(RecipientType.TO,InternetAddress.parse("liangrui_1988@126.com,liangrui_1988@sina.com,liangrui_1988@sohu.com"));//内容ms.setContent("<span style='color:red'>文本内容 呆呆呆呵呵</span>","text/html;charset=gbk");//发射=================================  Transport.send(ms);*///加载生成好的邮件  Test3 并发送Message me=new MimeMessage(session,new FileInputStream("F:/juxunDocument/email/demo3.eml"));Transport.send(me,InternetAddress.parse("liangrui_1988@sohu.com") );System.out.println("okkk--------------");}
}

test3

package com.mail;import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Message.RecipientType;
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;import com.sun.mail.util.MimeUtil;public class Test3 {public static void main(String[] args) throws Exception {Session session=Session.getInstance(new Properties());MimeMessage message=new MimeMessage(session);//发件人 指定别名message.setFrom(new InternetAddress("\""+MimeUtility.encodeText("国务院")+"\" <liangrui_1988@sina.com>"));message.setSubject("subject Hello world");//标题//如果收到该邮件 点击回复时,地址是这个邮箱地址 而不是发件人message.setReplyTo(new Address[]{new InternetAddress("liangrui_1988@sohu.com")});//回复//收件人message.setRecipients(RecipientType.TO,//把字符串转为数组 //转码InternetAddress.parse(MimeUtility.encodeText("刘备")+" <liangrui_1988@126.com>,"   +MimeUtility.encodeText("关羽")+ "<liangrui_1988@suho.com>"));//复杂格试文件内容  多部件的/混合MimeMultipart mutimart=new MimeMultipart("mixed");//文本message.setContent(mutimart);//多用途互联网邮件扩展 mime 体部分MimeBodyPart content =new MimeBodyPart();       MimeBodyPart attach1 =new MimeBodyPart();      MimeBodyPart attach2 =new MimeBodyPart();//添加文本 和附近mutimart.addBodyPart(content);mutimart.addBodyPart(attach1);mutimart.addBodyPart(attach2);//附近1DataSource ds=new FileDataSource("E:\\1y2\\context.xml");DataHandler dh1=new DataHandler(ds);attach1.setDataHandler(dh1);attach1.setFileName(MimeUtility.encodeText("中文context.xml"));//附件名称//附近2DataSource ds2=new FileDataSource("F:\\ipho\\IMG_0266.JPG");DataHandler dh2=new DataHandler(ds2);attach2.setDataHandler(dh2);attach2.setFileName(MimeUtility.encodeText("图片img_0266.jpg"));//附件名称 转为中文//文本 是一个复杂体MimeMultipart bodyMultipart=new MimeMultipart("related");content.setContent(bodyMultipart);//构造 体 有两个部分组成 图片和文本MimeBodyPart thmlPart=new MimeBodyPart();MimeBodyPart imgPart=new MimeBodyPart();bodyMultipart.addBodyPart(thmlPart);//html        bodyMultipart.addBodyPart(imgPart);//img//图片数据来源DataSource dsImg=new FileDataSource("F:/ipho/IMG_0332.JPG");     DataHandler dhImg=new DataHandler(dsImg);imgPart.setDataHandler(dhImg);//这个图片代表的位置imgPart.setHeader("Content-location","http://www.aaa.com/img_0332.jpg");//文本thmlPart.setContent("<h1>你好呀 </h1><span style=color='red'>yesterday once more</sapn>" +" <img src='http://www.aaa.com/img_0332.jpg'/>","text/html;charset=gbk");//生成message.saveChanges();//保存在本地 测试       输出到本地OutputStream os=new FileOutputStream("F:\\juxunDocument\\email\\demo3.eml");message.writeTo(os);os.close();}}

servelt

package com.mail.web.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.mail.Test2Demo;public class SendMail extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();try {//调用生成好的Test2Demo.jar 类发送邮件  方式一//Test2Demo.main(new String[]{});/*** JNDI 配制方式发送邮件 方式二* META-INF文件夹中配context.xml信息* 在web.xml配置相关信息* 发布到tomcat时* 需要把lib 的mail.jar拷贝到Tomcat的lib下 * 并且删掉项目中的mail.jar */Context initCtx = new InitialContext();Context envCtx = (Context) initCtx.lookup("java:comp/env");Session session = (Session) envCtx.lookup("mail/hello");Message message = new MimeMessage(session);//发件人message.setFrom(new InternetAddress("liangrui_1988@sina.com"));//收件人地址InternetAddress to[] = new InternetAddress[1];to[0] = new InternetAddress("liangrui_1988@sohu.com");message.setRecipients(Message.RecipientType.TO, to);message.setSubject("测试主题");//主题message.setText("test email ok---");//TransportTransport tran=session.getTransport();tran.connect("smtp.sina.com","liangrui_1988","*****");//获得连接tran.sendMessage(message, to);tran.close();out.print("ok----------------");} catch (Exception e) {e.printStackTrace(out);}out.flush();out.close();}}

META-INF

context.xml

<Context>
<Resource name="mail/hello" auth="Container"type="javax.mail.Session"mail.smtp.host="smtp.sina.com"mail.smtp.auth="true"mail.transport.protocol="smtp"/>
</Context>

转载于:https://www.cnblogs.com/riasky/p/3476375.html

java 发送邮件 email相关操作代码测试,生成复杂格式邮件,发送邮件相关操作相关推荐

  1. python transformer category_Python 生成VOC格式的标签实例

    常用目标检测模型基本都是读取的PASCAL VOC格式的标签,下面代码用于生成VOC格式的代码,根据需要修改即可: from lxml import etree, objectify def gen_ ...

  2. 用java开发Email工具之发送邮件 (1)作者:冯睿

    作者:冯睿 来源:赛迪网 本文介绍了如何利用Java的网络API来实现一个电子邮件工具程序.通常Email工具都 是使用SMTP(简单邮件传输协议, Simple Mail Transfer Prot ...

  3. java 生成mysql dto_如何根据动态SQL代码自动生成DTO

    当前的状况 一般做数据库相关开发, 除非学习, 否则很少有人愿意直接使用JDBC.本来Java代码就比较啰嗦了,而直接用JDBC写代码之啰嗦简直有些令人发狂!所以在实际开发过程中,我们通常都会使用一些 ...

  4. 用java写ods系统_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo是基于数据库的代码自动生成工具,低代码编程技术的实现,可以零代码自动生成SpringBoot项目工程.生成JavaBean.生成前后端分离的CRUD代码.生成MyBaits的Mapper ...

  5. java 生成客户端代码_swagger-codegen生成java客户端代码

    前后端分离的时候,需要建立契约,Swagger可达到该目的(略). 建立Rest接口后,通过swagger-codegen项目可以自动生成对应的客户端代码(c++.php.java.js.node等等 ...

  6. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  7. 利用java代码一键生成数据库文档

    1 screw(螺丝钉)介绍 1.2 特点 简洁.轻量.设计良好 多数据库支持 多种格式文档 灵活扩展 支持自定义模板 1.2 文档生成支持 html word markdown 1.3 文档截图 1 ...

  8. JAVA 操作 excel 并生成 xml

    并不是每一份文档最初都是用 XML 写的,这可能与您想像的正好相反.事实上,大多数文档都是用其他一些工具准备出来,然后再转换成 XML 的.许多文档来源于 关系数据库,或者来源于 Microsoft ...

  9. libsvm java 实例_LibSvm流程及java代码测试

    使用libSvm实现文本分类的基本过程,此文参考 使用libsvm实现文本分类 对前期数据准备及后续的分类测试进行了验证,同时对文中作者的分词组件修改成hanLP分词,对数字进行过滤,仅保留长度大于1 ...

最新文章

  1. catia的vh轴怎么显示_Origin入门教程(三):Origin中曲线怎么平移?
  2. 课时76.兄弟选择器(掌握)
  3. qtscrcpy自定义按键_按键映射说明.md
  4. android查看第三方libs的jar源码
  5. java 时间格式化_还在用SimpleDateFormat格式化时间?小心经理锤你
  6. 【c++】【多线程】单例模式及其性能
  7. Atitit.spring体系结构大总结 1. Spel表达式解析 1 2. Srping mvc 1 3. Ioc 4 3.1. ApplicationContext在BeanFactory的基础
  8. 调用百度地图API与语音API实现简易地图语音导航
  9. 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (5)——TCP的运输连接管理
  10. 15亿参数的NLP模型究竟有多强大?有人用它生成了一部《哈利·波特》
  11. std::equal 用法
  12. calibre版本问题造成无法转换pdf
  13. vue项目用qrcodejs2生成多个二维码的实现
  14. Steam推出多人联机本地游戏功能 即将推出
  15. 真烂!史上最烂项目:骗了几百万欧元,苦撑 12 年,600万行代码
  16. Linux性能检查命令总结
  17. 【数据结构】图(最短路径Dijkstra算法)的JAVA代码实现
  18. 玩抖音必知的3个数据分析工具:会用它们,少走很多弯路
  19. html转换成pdf 布局变化,pdf转换成html转换器(Adept PDF to HTML Converter) v3.40免费版
  20. 如何查看电脑jdk/jre版本以及安装路径

热门文章

  1. [渝粤教育] 四川大学 简明大学化学·物质结构部分入门 参考 资料
  2. 如何像我这样创建一个酷炫且能赚钱的网站(使用宝塔安装WordPress搭建子比主题)
  3. 【不定时推荐】这些年读过的书第一本--《一个人的朝圣》
  4. PS2手柄遥控控制灯开关(arduino)
  5. C语言入门(初识C语言)
  6. 启动rabbitmq,遇到发生系统错误2和发生系统错误5的解决方法
  7. 哈尔滨市平房区云计算助力 为创城插上智慧的翅膀
  8. VGA/QVGA/WVGA/XGA/SXGA/QXGA/HD/FHD/UHD等常用分辨率格式对比总结
  9. nas服务器上文件恢复,nas文件恢复
  10. Cell | 深度突变学习预测SARS-CoV-2受体结合域组合突变对ACE2结合和抗体逃逸的影响...