JavaMail开发

来源:互联网 发布:淘宝客服改地址后 编辑:程序博客网 时间:2024/05/17 01:01
JavaMail开发:JavaEE技术之一
一、邮件的学习目标
二、邮件开发相关的概念
*****三、邮件开发用到的协议:SMTP、POP、RFC822、MIME
SMTP:Simle Message Transfer Protocal 简单消息传输协议。发送邮件时使用的协议。描述了数据该如何表示。默认使用的端口:25
POP:Post Office Protocal邮局协议。接收邮件时使用的协议。默认使用的端口:110


四、手工发送邮件和接收邮件(熟练SMTP等协议的)
itheimacloud@163.com          iamsorry
itheima14@163.com             iamsorry

SMTP:smtp.163.com  POP3:pop.163.com

Base64编码:
用户名:itheimacloud    aXRoZWltYWNsb3Vk
密码:iamsorry  aWFtc29ycnk=


1、手工发送邮件的过程:telnet
telnet smtp.163.com 25
------------------------------------------------------------以下属于SMTP协议的内容
ehlo wzt                //向服务器打招呼
auth login              //请求认证
//提示输入用户名和密码(Base64编码后的)
aXRoZWltYWNsb3Vk

aWFtc29ycnk=

mail from:<itheimacloud@163.com>
rcpt to:<itheima14@163.com>

data                      //说明邮件的开始
//邮件内容是要遵循一定格式的:RFC822规范

from:itheimacloud@163.com                         //fengjie@163.com
to:itheima14@163.com
subject:这是一封手工发送的邮件

aaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbb
.

------------------------------------------------------------
quit

2、手工收取邮件(POP协议)
telnet pop.163.com 110
----------------------------------以下属于POP协议的东东
user itheima14
pass iamsorry
stat                //返回邮箱的统计信息
list 邮件编号       //返回某一封的邮件统计信息
retr 邮件编号       //取出某一封邮件的内容
----------------------------------
quit

五、冒充别人发送邮件

六、JavaMail的核心API简介
1、导入jar包:mail.jar  (注意:Javamail的API依赖jaf(Java Activation Framework)框架,还需要导入jaf的jar包。如果使用的是JDK6及以上版本,就不需要了)
Session:代表邮件的环境

Message:代表邮件

BodyPart:代表复杂邮件中的每一部分

Multipart:描述由多个BodyPart组成的邮件的关系

七、创建邮件:(卫星)
只有文本的邮件
既有文本,文本中还内嵌图片的邮件(MIME协议描述的)  related
分割线:------------------------------238748932bc07
------------------------------238748932bc07
//文本部分
//头 Content-Type:text/html;

//体aaa<img src='cid:mm'/>aaa
------------------------------238748932bc07
//图片部分
Content-Type:image/jpeg
Content-Id:mm

jsdlkfjlkdslkjfds(base64编码)
dsfds
f
dsf
dsfds
f
dsfds
------------------------------238748932bc07--


既有文本,文本中还内嵌图片的邮件,还有附件的邮件

八、发送邮件:(火箭)
*****九、案例:用户注册,发送激活邮件
0 0