当前位置:   article > 正文

JavaMail

javamail

1.概述
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。JavaMail是由Sun定义的一套收发电子邮件的API,它可以方便地执行一些常用的邮件传输,不同的厂商可以提供自己的实现类。但它并没有包含在JDK中,而是作为JavaEE的一部分。

厂商所提供的JavaMail服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括:

SMTP:单间邮件传输协议,用于发送电子邮件的传输协议
POP3:用于接受电子邮件的标准协议
IMAP:互联网消息协议,是POP3的替代协议
这三种协议都有对应SSL加密传输协议,分贝是SMTPS,POP3S和IMAPS。除JavaMail服务提供程序之外,JavaMail还需要JAF(JavaBeans Activation Framework)来处理不是纯文本的邮件内容,这包括MIME(多用途互联网邮件扩张)、URL页面和文件附件等内容。

由于JavaMail需要和邮件服务器进行通信,这就要求程序提供许多注入服务器地址、端口、用户名、密码等信息,JavaMail通过Properties对象封装这些属性对象

属性名    类型    说明
mail.smtp.host    String    SMTP服务器地址,如smtp.sina.com.cn
mail.smtp.port    int    SMTP服务器端口号,默认为25
mail.smtp.user    String    SMTP默认的登录用户名
mail.smtp.auth    boolean    SMTP服务器是否需要用户认证,默认为false
mail.smtp.from    String    默认的邮件发送源地址
mail.smtp.timeout    int    I/O连接超时时间,单位为毫秒,默认为永不超时
2.2 Session会话对象
Session是一个很容易被误解的类,这归咎于混淆视听的类名。千万不要以为这里的Session像HttpSession一样代表真实的交互会话,但创建Session对象时,并没有对应的物理连接,它只不过是一对配置信息的集合。

Session的主要作用,包括两方面:

接受各种配置属性信息:通过Properties对象设置的属性信息
初始化JavaMail环境:根据JavaMail的配置文件,初始化JavaMail环境,以便通过Session对象创建其他重要类的实例。
2.3 Transport和Store传输
邮件操作只有发送或接受两种处理方式,JavaMail将这两种操作描述为传输(javax.mail.Transport)和存储(javax.mail.Store),传输对应邮件的发送,而存储对应邮件的接口。

2.4 Message消息对象
一旦获得Session对象,就可以继续创建要发送的消息。这由Message类来完成。因为Message是个抽象类,您必须用一个子类,多数情况为javax.mail.internet.MimeMessage。MimeMessage是个能理解MIME类型和头的电子邮件消息。

2.5 Address地址
一旦你创建了Session和Message,并将内容填入消息后,就可以用Address确定信件地址了。和Messege一样,Address也是个抽象类。你用的是javax.mail.internet.InternetAddress类。

2.6 Authenticator认证者
与java类一样,JavaMail API也可以利用Authenticator通过用户名和密码访问受保护的资源。对于含电子邮件地址,只要传递电子邮件地址到构造器就行了。与java类一样,JavaMail API也可以利用Authenticator通过用户名和密码访问受保护的资源。对于JavaMail API来说,这些资源就是邮件服务器。JavaMail Authenticator在javax.mail包中,而且它和java.net中同名的类Authenticator不同。两者并不共享同一个Tuthenticator,因为JavaMail API用于Java 1.1,它没有java.net类别。要使用Authenticator,先创建一个抽象类的子类,并从getPasswordAuthentication()方法中返回PasswordAuthentication 实例。创建完成后,您必需向session注册 Authenticator。然后,在需要认证的时候,就会通知Authenticator。您可以弹出窗口,也可以从配置文件中(虽然没有加密是不安全的)读取用户名和密码,将它们作为PasswordAuthentication对象返回给调用程序。
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/95392
推荐阅读
相关标签
  

闽ICP备14008679号