关于JavaMail
一.概述
1.邮件协议:
SMTP:(Simple Mail Transfer Protocol,简单邮件传输协议)发邮件协议;
POP3:(Post Office Protocol Version 3,邮局协议第3版)收邮件协议;
IMAP:(Internet Message Access Protocol,因特网消息访问协议)收发邮件协议
2.邮件服务器名称
smtp服务器的端口号为25,服务器名称为smtp.xxx.xxx。
pop3服务器的端口号为110,服务器名称为pop3.xxx.xxx。
例如:
>163:smtp.163.com和pop3.163.com;
>126:smtp.126.com和pop3.126.com;
>qq:smtp.qq.com和pop3.qq.com;
>sohu:smtp.sohu.com和pop3.sohu.com;
...
sina:smtp.sina.com和pop3.sina.com。
二.JavaMail之HelloWrold
Java Mail是由SUN公司提供的专门针对邮件的API,主要Jar包:mail.jar、activation.jar。
发邮件主要分为三步:1.获取Session(重点是构造器中传递的两个参数)
2.创建MimeMessage对象(把session作为参数传入)
3.发送邮件
public static void mailDemo(){
//获取Session
Properties props = new Propties();
props.setProperty("mail.host","smtp.163.com");//设置服务器主机名
props.setProperty("mail.smtp.auth","true");//设置需要认证
Authenticator auth = new Authenticator(){
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("emailAccount","password");//设置邮箱账号和密码
}
}
Session session = new Session(props,auth);
//创建MimeMessage
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("邮箱地址"));//设置发件人
msg.setRecipients(RecipientType.TO,"邮箱地址");//设置收件人
msg.setRecipients(RecipientTYpe.CC,"邮箱地址");//设置抄送
msg.setRecipients(RecipientType.BCC,"邮箱地址");//设置暗送
//-----------------------------------------------------
//不带附件
msg.setSubject("邮件主题");
msg.setContent("邮件内容","text/html;charset=utf-8");
//------------------------------------------------------
//带附件
MimeMultipart list = new MimeMultipart();//创建多部件内容
MimeBodyPart part1 = new MimeBodyPart();//创建主体部件
part1.setContent("邮件内容","text/html;charset=utf-8");
MimeBodyPart part2 = new MimeBodyPart();
part2.attachFile(new File("FilePath"));//设置附件内容
part2.setFileName(MimeUtility.encodeText("文件名"));//设置显示的文件名称并处理了中文乱码问题
list.addBodyPart(part1);//把主体部件添加到集合中
list.addBodyPart(part2);
msg.setContent(list);//把多部件内容设置我邮件内容
//------------------------------------------------------
Reansport.send(msg);//发送邮件
}
三.注意事项
>使用MyEclipse是要选择JAVA EE 6 libraries 用5报错
>我们用Java发送邮件时相当于自定义客户端根据用户名和密码进行登录,然后使用SMTP服务发送邮件。但新注册的163邮件默认是不开启客户端授权验证的 应手动设置!
关于JavaMail的更多相关文章
- javaMail
JavaMail概述: JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类.但它并没有包含在JDK中,而是作为JavaEE的一部分. javaMai ...
- JavaMail发送邮件
发送邮件包含的内容有: from字段 --用于指明发件人 to字段 --用于指明收件人 subject字段 --用于说明邮件主题 cc字段 -- 抄送,将邮件发送给收件人的同时抄 ...
- 应用层之E-mail服务及javaMail邮件发送的知识总结
关于Email服务你需要知道的知识点: 概述: 今天来介绍一下应用层的电子邮件服务,我们每天几乎都在用,电子邮件(email)服务也是一种基于C/S模式的服务,它采用的是一种"存储-转发&q ...
- JavaMail发送邮件第一版
首先,我们先来了解一个基本的知识点,用什么工具来发邮件? 简单的说一下,目前用的比较多的客户端:OutLook,Foxmail等 顺便了解一下POP3.SMTP协议的区别: POP3,全名为" ...
- java中使用javamail发送邮件
1. 电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP. 其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SMT ...
- Spring JavaMail发送邮件
JavaMail的介绍 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输. 虽然JavaMail是 ...
- 使用JavaMail发送邮件
一.邮件的相关概念 邮件协议.主要包括: SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件 POP3协议:Post Office Prot ...
- javamail文件上传
//创建entity package cn.bdqn.pojo; import java.io.File; public class Mail { private String from; priva ...
- JavaMail和James
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开发出类似于Micr ...
- JavaMail: SSL vs TLS vs STARTTLS
SSL vs TLS vs STARTTLS There's often quite a bit of confusion around the different terms SSL, TLS an ...
随机推荐
- android的EditText获取另一个焦点
在android关于开发过程EditText在setFocusable(false);后,设置时需要再次获得输入焦点setFocusable(true);问题后仍然无法获得焦点: 解决的方法: 对Ed ...
- JS中的模块规范(CommonJS,AMD,CMD)
JS中的模块规范(CommonJS,AMD,CMD) 如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧, ...
- [转]JSON and Microsoft Technologies(翻译)
本文翻译CodeProject(链接)上的一篇文章,文章对JSON的概念以及它在微软一些技术中的应用起到了非常好的扫盲作用,总结得非常好,适合初学者. 目录 介绍 什么是JavaScript对象? 实 ...
- ASP.NET MVC 例子演示如何在 Knockout JS 的配合下,使用 TypeScript 。
一个简单的 ASP.NET MVC 例子演示如何在 Knockout JS 的配合下,使用 TypeScript . 前言 TypeScript 是一种由微软开发的自由和开源的编程语言.它是JavaS ...
- [QT Creator]LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 。
这个问题很恶心!网上说的原因是因为安装了多了版本的VS.在高版本的2010和2012上都会有问题,解决方法是使用visual studio 2008安装目录下的一个文件替代vs2010安装目录下的文件 ...
- Dom解析xml源代码
import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import ja ...
- Lex Yacc手册
Python Lex Yacc手册 本文是PLY (Python Lex-Yacc)的中文翻译版.转载请注明出处.这里有更好的阅读体验. 如果你从事编译器或解析器的开发工作,你可能对lex和yacc不 ...
- storm安装(2)ZeroMQ、JZMQ、Python、Java环境的安装
2.ZeroMQ安装 把安装本件zeromq-2.1.7.tar.gz拷贝到home文件路径下, 给文件加入权限 chmod +x /home/zeromq-2.1.7.tar.gz 解压文件 tar ...
- MvcMovieStore实例 教程
转原创:MvcMovieStore 实例教程(新概念版:mvc5.0,EF6.01)-初露锋芒 如需转载,请注明出处:http://www.cnblogs.com/DoduNet/ 最近趁业余时间,把 ...
- IL代码完结篇
读懂IL代码就这么简单(三)完结篇 一 前言 写了两篇关于IL指令相关的文章,分别把值类型与引用类型在 堆与栈上的操作区别详细的写了一遍这第三篇也是最后一篇,之所以到第三篇就结束了,是因为以我现在 ...