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

浙公网安备 33010602011771号