JavaMail
常用类及发送邮件 Demo
在本文的最后,会有一个简单的Demo,学东西,例子举得越简单越好,越能概括全面越好,虽然有的Demo会没有任何实际意 义。最鄙视那种讲个新东西,拿着一个很大很牛逼的项目,找出其中一部分然后教的。我就不另有所指了。 首先需要 activation.jar(JAF(JavaBeans Activation Framework))和 mail.jar ,可以去官网下载,也可去我的资源下载,如果觉得 啰嗦,可以直接最后的 Demo activation.jar:mail.jar:(1) java.util.Properties类 JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host",属性 值就是发送邮件的主机。 用法: Java代码
Properties props = new Properties(); props.put("mail.smtp.host", "smtp.163");//可以换上你的smtp主机名。
(2) javax.mail.Session类 这个Session类代表JavaMail 中的一个邮件session. 每一个基于 JavaMail的应用
程序至 少有一个session但是可以有任意多的session. 在这个例子中, Session对象需要知道用来 处理邮件的SMTP 服务器。 用法: Java代码
Session sendMailSession = Session.getInstance(props, null);
(3) javax.mail.Transport类 邮件是既可以被发送也可以被受到。JavaMail使用了两个不同的类来完成这两个功能: Transport 和Store. Transport 是用来发送信息的,而Store用来收信。对于这的教程我们只 需要用到Transport对象。 用法: Java代码
Transport transport = sendMailSession.getTransport("smtp");
用JavaMail Session对象的getTransport 方法来初始化Transport.传过去的字符串申明了对象
所要使用的协议,如"smtp".这将为我们省了很多时间。因为JavaMail以境内置了很多协议 的实现方法。 注意: JavaMail并不是绝对支持每一个协议,目前支持IMAP、 SMTP和 POP3. (4) javax.mail.MimeMessage类 Message对象将存储我们实际发送的电子邮件信息,Message对象被作为一个 MimeMessage对象来创建并且需要知道应当选择哪一个JavaMail session. 用法: Java代码
Message newMessage = new MimeMessage(sendMailSession);
(5) javax.mail.InternetAddress类 一旦您创建了 Session 和 Message,并将内容填入消息后,就可以用Address确定信件地 址了。 和 Message 一样, Address 也是个抽象类。 您用的是Javax.mail.internet.InternetAddress 类。 用法:
Java代码
InternetAddress from = new InternetAddress("xxf@cafe");
(6) javax.mail.Store 类 Store类实现特定邮件协议上的读、写、监视、查找等操作。通过Javax.mail.Store类可以访 问Javax.mail.Folder类。 用法: Java代码
Store store = s.getSorte("pop3")//s为一个邮件会话 store.connect(popserver,username,pass
word);//通过你提供的pop地址,用户名和密码登录你的邮箱
(7) javax.mail.Folder类 Folder类用于分级组织邮件,并提供照Javax.mail.Message格式访问email的能力。
用法: Java代码
Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY);
(8) javax.mail.Internet.MimeMultpart 一般保存电子邮件内容的容器是Multipart抽象类,它定义了增加和删除及获得电子邮件不 同部分内容的方法。 由于Multipart是抽象类, 我们 必须为它使用一个具体的子类, JavaMail API提供javax.mail.Internet.MimeMultpart类来使用MimeMessage对象。 用法: Java代码
MimeMultipart multipart = new MimeMultipart();
注:我们使用MimeMultipart对象的一个方法是addBodyPart(),它在我们的电子邮件内容里 添加BodyPart(BodyPart类在下面紧接着要介绍)对象。消息可以有很多部分,一个BodyPart 可以代表一个部分。
(9) javax.mail.Internet.MimeBodyPart类