1、java.util.Properties
JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机.
用法1:
Properties props = new Properties ();
props.put("mail.smtp.host", "smtp.163.com");
当然还有直接写到.Properties文件的写法,这里就不重点介绍了。
2、javax.mail.Session
这个Session类代表JavaMail 中的一个邮件session. 每一个基于 JavaMail的应用程序至少有一个session但是可以有任意多的session。 在这个例子中, Session对象需要知道用来处理邮件的SMTP 服务器。
用法:
Session sendMailSession = Session.getInstance(props, null);
Session session=Session.getDefaultInstance(props,auth);
里面有四个方法,两个是默认的(一个加认证了,一个没有加认证)。
3、javax.mail.Transport
邮件是既可以被发送也可以被受到。JavaMail使用了两个不同的类来完成这两个功能:Transport 和Store. Transport 是用来发送信息的,而Store用来收信。
transport=session.getTransport("smtp");
用JavaMail Session对象的getTransport 方法来初始化Transport。传过去的字符串申明了对象所要使用的协议,如"smtp"。这将为我们省了很多时间。因为JavaMail以境内置了很多协议的实现方法。
注意: JavaMail并不是绝对支持每一个协议,目前支持IMAP、 SMTP和 POP3.
4、javax.mail.internet.MimeMessage类
Message对象将存储我们实际发送的电子邮件信息,Message对象被作为一个MimeMessage对象来创建并且需要知道应当选择哪一个JavaMail session。
MimeMessage msg=new MimeMessage(session);
5、 javax.mail.internet.InternetAddress类
一旦您创建了 Session 和 Message,并将内容填入消息后,就可以用Address确定信件地址了。和 Message 一样,Address 也是个抽象类。您用的是InternetAddress fromAddress=new InternetAddress(from);
6、Javax.mail.Store类
Store store=s.getSorte("pop3");//s为一个邮件会话
store.connect(popserver,username,password);//通过你提供的pop地址,用户名和密码登录你的邮箱
7、javax.mail.Folder类
Folder类用于分级组织邮件,并提供照Javax.mail.Message格式访问email的能力。
Folder folder=store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
8、javax.mail.Internet.MimeMultpart类
MimeMultipart multipart=new MimeMultipart();
注:我们使用MimeMultipart对象的一个方法是addBodyPart(),它在我们的电子邮件内容里添加BodyPart(BodyPart类在下面紧接着要介绍)对象.消息可以有很多部分,一个BodyPart可以代表一个部分.
9、javax.mail.MimeBodyPart类
MimeBodyPart是BodyPart具体用于mimeMessage的一个子类.
MimeBodyPart对象代表一个MimeMessage对象内容的一部分.每个MimeBodyPart被认为有两部分:
⊙一个MIME类型
⊙匹配这个类型的内容
MimeBodyPart mdp=new MimeBodyPart();
String text="Hello JavaMail!";
mdp.setContent(text,"text/plain");//定义MIME类型为text/plain,并设置MimeBodyPart的内容.