一、Java邮件开发介绍

为什么要学习javamail开发
•现在很多WEB应用在开发时都需要集成邮件发送功能,例如:
•给新注册的用户自动发送一封包含其注册信息的欢迎E-Mail.
•给过生日的注册会员自动发送一封表示祝贺的E-Mail .
•将网站的最新活动信息通过E-Mail发送给所有的注册会员.
•等等 …...
•这些功能的实现都需要软件开发人员在开发WEB应用中编写相应的邮件处理程序.

二、邮件开发涉到的一些基本概念

1、邮件服务器和电子邮箱
邮件服务器:
•要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器.这些服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中.
电子邮箱:
•电子邮箱(E-mail地址)的获得需要在邮件服务器上进行申请 ,确切地说,电子邮箱其实就是用户在邮件服务器上申请的一个帐户.用户在邮件服务器上申请了一个帐号后,邮件服务器就会为这个帐号分配一定的空间,用户从而可以使用这个帐号以及空间,发送电子邮件和保存别人发送过来的电子邮件.
2、邮件传输协议
SMTP协议
•用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的.
•因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为SMTP服务器.(25)
POP3协议
•同样,用户若想从邮件服务器管理的电子邮箱中接收一封电子邮件的话,他连上邮件服务器后,也需要遵循一定的通迅格式,POP3协议用于定义这种通讯格式.
•因而,通常我们也把处理用户pop3请求(邮件接收请求)的邮件服务器称之为POP3服务器.(110)
3、电子邮件的传输过程
下图用于演示lisi@sina.com与wangwu@sohu.com帐户相互发送邮件的过程.
aaarticlea/png;base64,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" alt="" width="668" height="308" />

三、手工演示电子邮件的发送

准备实验环境
•提前在sohu和sina上注册一个免费帐号
•获取smtp和pop3服务器的名称
•Sina或sohu会在其帮助中心里提示管理当前注册帐号的邮件服务器的主机名.
•编写base64编码程序对用户名和密码进行编码.
•手工使用SMTP协议发送电子邮件

整个流程如下:

telnet localhost 25 //telnet 可连接互联网任意一台主机
ehlo flx
auth login
YWFh
MTIz
mail from: <aaa@flx.com>
rcpt to: <bbb@flx.com> data
from: <jjs@taiwan.com>
to: <bbb@flx.com>
subject: test 美令,咱们分手吧
中正
.
quit telnet localhost
user aaa
pass
stat
list
retr quit

四、编写Socket程序发送电子邮件

public class Demo1 {

    public static void main(String[] args) throws Exception {

        Socket socket = new Socket("localhost",);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
OutputStream out = socket.getOutputStream(); System.out.println(br.readLine());
out.write("ehlo flx\r\n".getBytes()); System.out.println(br.readLine());
System.out.println(br.readLine()); out.write("auth login\r\n".getBytes());
System.out.println(br.readLine()); out.write("YWFh\r\n".getBytes());
System.out.println(br.readLine()); out.write("MTIz\r\n".getBytes());
System.out.println(br.readLine()); out.write("mail from: <aaa@flx.com>\r\n".getBytes());
System.out.println(br.readLine()); out.write("rcpt to: <bbb@flx.com>\r\n".getBytes());
System.out.println(br.readLine()); out.write("data\r\n".getBytes());
System.out.println(br.readLine()); out.write("from:<aaa@flx.com>\r\nto:<bbb@flx.com>\r\nsubject:test\r\n".getBytes());
out.write(".\r\n".getBytes());
System.out.println(br.readLine()); out.write("quit\r\n".getBytes());
System.out.println(br.readLine()); br.close();
out.close();
socket.close();
}
}

五、创建邮件—— MIME协议

•MIME协议是对RFC822文档的升级和补充,它描述了如何生成一封复杂邮件.通常我们把MIME协议描述的邮件称之为MIME邮件,MIME协议描述的数据称之为MIME消息.
•对于一封复杂邮件,如果包含了多个不同的数据,MIME协议规定了要使用分隔线对多段数据进行分隔,并使用Content-Type头字段对数据的类型、以及多个数据之间的关系进行描述.

MIME协议常用头字段

Content-type:字段

•数据类型 
•以"主类型/子类型"的形式出现,主类型有text、image、audio、video、application、message等,分别表示文本、图片、音频、视频、应用程序、组合结构、消息等.每个主类型下面都有多个子类型,例如text主类型包含plain、html、xml、css等子类型.
•数据的关系
•multipart/mixed、multipart/related、multipart/alternative

Content-Disposition头字段

•Content-Disposition头字段用于指定邮件阅读程序处理数据内容的方式,有inline和attachment两种标准方式,inline表示直接处理,而attachment表示当作附件处理.如果将Content-Disposition设置为attachment,在其后还可以指定filename属性,如下所示:

Content-Disposition: attachment; filename=".bmp"

上面的MIME头字段表示MIME消息体的内容为邮件附件,附件名"1.bmp"

Content-ID头字段

•Content-ID头字段用于为"multipart/related"组合消息中的内嵌资源指定一个唯一标识号,在HTML格式的正文中可以使用这个唯一标识号来引用该内嵌资源.例如,假设将一个表示内嵌图片的MIME消息的Content-ID头字段设置为如下形式:

Content-ID: it315logo_gif

那么,在HTML正文中就需要使用如下HTML语句来引用该图片资源:

<img src="cid:it315logo_gif"> 

注意,在引用Content-ID头字段标识的内嵌资源时,要在资源的唯一标识号前面加上"cid:",以说明要采用唯一标识号对资源进行引用.

MIME协议例:

//创建简单邮件
public class SimpleMail {
public static void main(String[] args) throws Exception { Session session = Session.getDefaultInstance(new Properties());
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("aaa@flx.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("bbb@flx.com"));
message.setSubject("test");
message.setContent("aaaaaaaaaaaa", "text/html");
message.saveChanges();
message.writeTo(new FileOutputStream("c:\\1.eml"));
}
}
//创建带图片邮件
public class ImageMail { public static void main(String[] args) throws Exception { Session session = Session.getDefaultInstance(new Properties());
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("aaa@flx.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("bbb@flx.com"));
message.setSubject("test"); //创建邮件中的数据
//创建正文
MimeBodyPart text = new MimeBodyPart();
text.setContent("aaaa<br/><img src='cid:1.jpg'><br/>aaaaaaaa", "text/html"); //创建图片,不需要再setContent,setDataHandler可以感知类型
MimeBodyPart image = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src/1.jpg"));//jaf技术,把文件作为流
image.setDataHandler(dh);
image.setContentID("1.jpg"); //描述数据之间的关系
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(text);
mm.addBodyPart(image);
mm.setSubType("related"); message.setContent(mm);
message.saveChanges(); message.writeTo(new FileOutputStream("c:\\1.eml"));
}
}
//创建带附件的邮件
public class AttachMail { public static void main(String[] args) throws Exception { Session session = Session.getDefaultInstance(new Properties());
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("aaa@flx.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("bbb@flx.com"));
message.setSubject("test"); //创建封装正文数据的bodypart
MimeBodyPart text = new MimeBodyPart();
text.setContent("aaaaaaaaaaaa", "text/html"); //创建封装附件数据的bodypart
MimeBodyPart attach = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src/1.mp3"));
attach.setDataHandler(dh);
attach.setFileName(dh.getName()); //设置附件名 //mixed
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(text);
mm.addBodyPart(attach);
mm.setSubType("mixed"); message.setContent(mm);
message.saveChanges(); message.writeTo(new FileOutputStream("c:\\1.eml"));
}
}
//创建最复杂邮件
public class ComplexMail { public static void main(String[] args) throws Exception { //创建邮件
Session session = Session.getDefaultInstance(new Properties());
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("aaa@flx.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("bbb@flx.com"));
message.setSubject("测试"); //创建bodypart封装正文
MimeBodyPart text = new MimeBodyPart();
text.setContent("这是中文邮件a<img src='cid:1.jpg'>", "text/html;charset=UTF-8"); //创建bodypart封装图片
MimeBodyPart image = new MimeBodyPart();
image.setDataHandler(new DataHandler(new FileDataSource("src/1.jpg")));
image.setContentID("1.jpg"); //创建bodypart封装附件,解决乱码
MimeBodyPart attach = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src/光辉岁月.mp3"));
attach.setDataHandler(dh);
attach.setFileName(MimeUtility.encodeText(dh.getName()));//content-disposition //描述数据关系
MimeMultipart content = new MimeMultipart();
content.addBodyPart(text);
content.addBodyPart(image);
content.setSubType("related");

     MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(content);
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(mbp);
mm.addBodyPart(attach);
mm.setSubType("mixed"); message.setContent(mm);
message.saveChanges(); message.writeTo(new FileOutputStream("c:\\1.eml"));
}
}

ps:MIME协议已经突破原来的邮件领域广泛用在数据描述协议中,简单的一堆数据,不同类型,传给对方.

六、发送邮件

aaarticlea/png;base64,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" alt="" />

JavaMail API按其功能划分通常可分为如下三大类:
创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件.
发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议.
接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议.
Session类
Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等.Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持.

使用JavaMail发送一封简单的邮件:

•创建包含邮件服务器的网络连接信息的Session对象.
•创建代表邮件内容的Message对象.
•创建Transport对象、连接服务器、发送Message、关闭连接.
//发送邮件
public class SendMail { public static void main(String[] args) throws Exception { Properties prop = new Properties();
prop.setProperty("mail.smtp.host", "localhost");
prop.setProperty("mail.transport.protocol", "smtp");
prop.setProperty("mail.smtp.auth", "true"); javax.mail.Session session = javax.mail.Session.getInstance(prop);
session.setDebug(true);//打印与服务器的交互过程 Message message = createMessage(session);
Transport ts = session.getTransport();
ts.connect("aaa", "");
ts.sendMessage(message,message.getAllRecipients());//获取收件人
ts.close();
} private static Message createMessage(Session session) throws Exception {
//创建邮件
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("aaa@flx.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("bbb@flx.com"));
message.setSubject("test"); message.setContent("aaaaaaaaaaaa", "text/html");
message.saveChanges(); return message;
}
}

七、WEB应用中集成邮件发送程序

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>注册页面</title></head> <body>
<form action="${pageContext.request.contextPath }/servlet/RegisterServlet" method="post">
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="password"><br/>
电子邮箱:<input type="text" name="email"><br/>
<input type="submit" value="注册">
</form>
</body>
</html>
//用户注册时,发送邮件通知
public class RegisterServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws Exception { String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email"); User user = new User();
user.setEmail(email);
user.setPassword(password);
user.setUsername(username); try{
//开启发送邮件线程,如果不开线程的话,如邮件有问题,后续代码无法执行
Thread t = new Thread(new SendMail(user));
t.start(); request.setAttribute("message", "注册成功!!");
}catch (Exception e) {
e.printStackTrace();
request.setAttribute("message", "注册失败!!");
}
request.getRequestDispatcher("/message.jsp").forward(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} }
public class SendMail implements Runnable {

    private  String host = "localhost";
private String email = "aaa@flx.com";
private String username = "aaa";
private String password = "123";
private User user; public SendMail(User user) {
this.user = user;
}
public void run() {
try{
Thread.sleep(1000*30);
send(user);
}catch (Exception e) {
throw new RuntimeException(e);
}
} public void send(User user) throws Exception {
Properties prop = new Properties();
prop.setProperty("mail.host", host);
prop.setProperty("mail.transport.protocol", "smtp");
Session session = Session.getInstance(prop);
Message message = createmessage(session, user);
Transport ts = session.getTransport();
ts.connect(username, password);
ts.sendMessage(message, message.getAllRecipients());
ts.close();
} public Message createmessage(Session session,User user) throws Exception{ MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(email));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail()));
message.setSubject("xxx网站用户注册邮件"); String content = "恭喜您,注册成功,您注册的用户名:"+ user.getUsername()!!";
message.setContent(content, "text/html;charset=UTF-8");
message.saveChanges();
return message;
}
}

八、邮件群发

1、邮件群发首先要采用递归查询的方式抓取邮箱,比如首先抓取新浪首页,抓到邮箱后保存起来,然后抓取到的url也保存起来(称为新浪的二级网址),再挨个访问url去抓取邮箱,依次类推,为了防止内存溢出,要进行层次控制,还要进行排重避免抓取相同的网址.
2、群发邮件的时候要进行多线程处理,加快速度,如10万-20万开启一个线程,20万-30万开启一个线程...
3、如我们使用新浪的邮箱进行群发,那么新浪会控制一个邮箱每天最多可以发多少封来控制群发,后来新浪发展到控制一个ip每天可以发多少封,可以使用adsl拨号(每次是一个ip)或者代理ip,但是都繁琐活不稳定,那么就需要自己搭建邮件服务器(在DNS注册,注册MX(为了能被别人找到)和A记录(为了和巨头邮件服务器连接时不需要账号密码)),因为我们的服务器还是要和其它巨头服务器相连,他们还是会禁掉我们的邮件服务器,他们巨头之间有邮件服务器白名单,一般小型公司很难加入,那么要实现群发,只能给巨头交钱.

javaEE(17)_邮件原理与JavaMail开发的更多相关文章

  1. 基于JavaMail开发邮件发送器工具类

    基于JavaMail开发邮件发送器工具类 在开发当中肯定会碰到利用Java调用邮件服务器的服务发送邮件的情况,比如账号激活.找回密码等功能.本人之前也碰到多次这样需求,为此特意将功能封装成一个简单易用 ...

  2. OAuth的机制原理讲解及开发流程

    本想前段时间就把自己通过QQ OAuth1.0.OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oaut ...

  3. JavaMail开发教程01开山篇

    序 其实想写JavaMail这一系列的博客已经有一个月之久了,缘起是某次乱逛传智播客官网浏览到相关的视频教程,想起大学时代学过的计算机网络提到邮件相关的协议,但遗憾的是到目前为止还没有接触计算机网络编 ...

  4. Zookeeper原理和实战开发经典视频教程 百度云网盘下载

    Zookeeper原理和实战开发 经典视频教程 百度云网盘下载 资源下载地址:http://pan.baidu.com/s/1o7ZjPeM   密码:r5yf   

  5. OAuth的机制原理讲解及开发流程(转)

    1.OAuth的简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全.开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是 ...

  6. Linux中Postfix邮件原理介绍(一)

    邮件相关协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议, 工作在TCP的25端口.它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 ...

  7. javaEE(14)_文件上传下载

    一.文件上传概述 1.实现web开发中的文件上传功能,需完成如下二步操作: •在web页面中添加上传输入项•在servlet中读取上传文件的数据,并保存到本地硬盘中. 2.如何在web页面中添加上传输 ...

  8. 【转载】OAuth的机制原理讲解及开发流程

    1.OAuth的简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全.开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是 ...

  9. java-阿里邮件推送服务开发 -- 发送邮箱验证码

    参考文档: 如何在 DNS 服务器上配置域名:https://help.aliyun.com/knowledge_detail/39397.html?spm=5176.2020520150.102.d ...

随机推荐

  1. Linux 一些问题

    终端以root账号执行 su - root

  2. centos 7.3 安装vmtools,解决无法编译共享文件夹模块

    环境说明: vmware 12.5.0 build-4352439 centos 7.3.1611   64位,内核版本:Linux version 3.10.0-514.16.1.el7.x86_6 ...

  3. C笔记列表

    笔记列表 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址.就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明. 要理解指针就要先理解计算机的内存.计算机内存会被 ...

  4. Android近场通信---NFC基础(一)(转)

    转自 http://blog.csdn.net/think_soft/article/details/8169483 本文译自:http://developer.android.com/guide/t ...

  5. Hexo - Template render error unexpected token

    问题与分析 今天发现在使用hexo g时报错如下: FATAL Something's wrong. Maybe you can find the solution here: http://hexo ...

  6. SVN有任何胜过git的地方吗?

    SVN有任何胜过git的地方吗? 好的技术问题通常会引出技术专家们依据经验得出的深层次的观点.但对于这样的问题的答案也很容易演变成完全基于个人喜好的情绪倾泄,而不是根据事实.标准和具体的专业知识.就比 ...

  7. [題解](并查集)luogu_P2391 白雪皚皚

    今天被老師留的作業搞死了,全是裸的水題,難題就那麼兩道我還沒寫......,狗屎 1.倒序處理,每個點至多會被更新一次 2.所以要做的就是快速找到下一個不同顏色的點, 3.然而不知道怎麼就 想到用并查 ...

  8. scrapy框架中Spiders用法

    scrapy框架中Spiders用法 Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据 总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以 ...

  9. [ZPG TEST 114] 括号匹配【树分治 点分治 括号序列】

    1.      括号匹配   有一棵树,每个节点上都有一个括号(左括号或者右括号).有多少个有序点对(u, v)从u到v的路径上的节点构成的字符串是一个合法的括号匹配?(我们称这样的点对是合法的) 输 ...

  10. Python开发 第01课 Python 简介

    一.Python 介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...