欢迎来到天天文库
浏览记录
ID:37914497
大小:23.30 KB
页数:5页
时间:2019-06-02
《javamail应用一(基础)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、A、简介JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于MicrosoftOutlook的应用程序。JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Store,Transport,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务
2、器,用户名和密码等信息。B、javaMail常用类B.1、Propertiesjava.util.Properties:JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机,如: Propertiesprops=newProperties(); props.put("mail.smtp.host","smtp.abcd.com");//可以换上你的smtp主机名。B.2、SessionJavax.m
3、ail.Session:Session类定义了一个基本邮件会话(session),是JavaMailAPI最高层入口类。所有其它类都是经由这个session才得以生效。Session对象用Java.util.Properties对象获取信息,如邮件服务器、用户名、密码及整个应用程序中共享的其它信息。这个Session类代表JavaMail中的一个邮件session。每一个基于JavaMail的应用程序至少有一个session但是可以有任意多的session。Session对象需要知道用来处理邮件
4、的SMTP服务器。为了做到这一点,你可以参照下面的例子用Properties来创建一个Session对象 SessionsendMailSession; sendMailSession=Session.getInstance(props,null);B.3、Message、MimeMessageJavax.mail.Message、javax.mail.MimeMessage:一旦获得Session对象,就可以继续创建要发送的消息。这由Message类来完成。因为Message是个抽象类,必
5、需用一个子类,多数情况下为Javax.mail.internet.MimeMessage。MimeMessage是个能理解MIME类型和头的电子邮件消息,正如不同RFC中所定义的。虽然在某些头部域非ASCII字符也能被译码,但Message头只能被限制为用US-ASCII字符。Message对象将存储我们实际发送的电子邮件信息,Message对象被作为一个MimeMessage对象来创建并且需要知道应当选择哪一个JavaMailsession。MessagenewMessage=newMimeM
6、essage(sendMailSession);B.4、TransportJavax.mail.Transport:消息发送的最后一部分是使用Transport类。这个类用协议指定的语言发送消息(通常是SMTP)。它是抽象类,它的工作方式与Session有些类似。仅调用静态send()方法,就能使用类的缺省版本:Transport.send(message)。或者,读者也可以从针对自己的协议的会话中获得一个特定的实例,传递用户名和密码(如果不必要就不传),发送消息,然后关闭连接。邮件是既可以被发
7、送也可以被受到。JavaMail使用了两个不同的类来完成这两个功能:Transport和Store。Transport是用来发送信息的,而Store用来收信。 Transporttransport; transport=sendMailSession.getTransport("smtp");用JavaMailSession对象的getTransport方法来初始化Transport。传过去的字符串申明了对象所要使用的协议,如"smtp"。这将为我们省了很多时间。因为JavaMail以境内置
8、了很多协议的实现方法。注意:JavaMail并不是绝对支持每一个协议,目前支持IMAP、SMTP和POP3。B.5、StoreJavax.mail.Store:Store类实现特定邮件协议上的读、写、监视、查找等操作。通过Javax.mail.Store类可以访问Javax.mail.Folder类。Storestore=s.getSorte("pop3");store.connect(popserver,username,password);B.6、FolderJavax.mail.Folde
此文档下载收益归作者所有