javaweb_javaMail

回忆一下如何使用itcast-tools.jar中的工具来发邮件!

注意事项:不能在myeclipse中创建web项目,然后在某个类中给出main()方法来发邮件!

1. 导jar包:
* itcast-tools.jar
* mail.jar
* activation.jar

2. 创建一个Java项目

====================

发邮件的原理

1. 可以把发邮件看成上传文件
2. 可以把收邮件看成下载文件
  都是通过邮件服务器来完成

--------------

邮件的相关协议:

smtp, 25 发邮件
pop3, 110 收邮件
imap, 143 收发邮件

--------------

服务器的名称

协议名.xxx.xx

smtp.itcast.cn
pop3.itcast.cn

smtp.163.com

====================

登录邮件服务器,用户名和密码都是使用Base64加密后的密文!

====================

Java Mail是JavaEE规范一部分,就好像是EJB一样!
当我们在MeEclipse中创建一个Web项目时,是否会自动导入ejb相关的jar包呢?答案是没有!

mail.jar和activation.jar是sun单独提供的,它们不在javaee.jar中!
如果我们在web项目中不导入marl.jar和activation.jar,就不能发邮件!
如果我们在web项目导入了mail.ar和activation.jar,还会出错!因为会有重复的类出现!
如果你在web项目中,servlet中使用了JavaMail,没有问题,因为javaee.jar不会发部到tomcat下,它是用来编译的!
到达tomcat的只有mail.jar和activation.jar,那么就只有一套了,就不会出错!

你创建的是Web项目(导入了javaee.jar),然后你自己又导入了mail.jar和activation.jar,然后你还在web项目使用main方法来发邮件,那么一定会出错!

1. 不要在web项目下,运行main方法,来执行发邮件!
2. 把你的myeclipse库修改一下,把javax.mail包直接删除!

D:\Program Files\MyEclipse10_2\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.0.0.me201110301321\data\libraryset\EE_5\javaee.jar

====================
====================
====================

javamail中的核心类

Session:当你得到了session对象时,就表示你已经和邮件服务器连接上了!
MimeMessage(它是Message的子类):它表示消息对象,即邮件内容,收件人、发件人...
Transport:用来发送邮件,在使用它时,还要登录邮件服务器,你需要提供用户名和密码

----------------

MimeMultipart:它表示多部分邮件内容,它可以由多个部分构成,即可以包含附件
MimeBodyPart:它是MimeMultipart其中一个部分,即可以是一个附件!


====================

协议介绍
RFC822:只能发普通文本的邮件,例如在使用telnet发邮件时,那么头都是RFC822的!
* 它的头有:from、to、subject
MIME:用来发送多部件的邮件
* Content-type、Content-disposition、Content-ID

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2014-06-21 23:24  sky_blub  阅读(173)  评论(0)    收藏  举报