必须了解的基本概念与核心类:Session是邮件操作的接口;Transport是收发邮件所使用的协议,一般Session会有多个
Transport;Message是收发操作的单位;Store是消息的集合,类似邮件客户端。每个Store包含一系列的Folder和
Message,每个Folder又包含一系列的Folder和Message。
Session需要使用java
x.mail.util.Properties来构造,常用的用来构造Session的属性:
属性名
|
含义
|
javax.mail.smtp.user
|
SMTP的缺省用户名。
|
javax.mailsmtp.host
|
要连接的SMTP服务器。
|
javax.mailsmtp.port
|
要连接的SMTP服务器的端口号,如果connect没有指明端口号就使用它,缺省值25。
|
javax.mailsmtp.connectiontimeout
|
Socket连接超时值,单位毫秒,缺省值不超时。
|
javax.mailsmtp.timeout
|
Socket I/O超时值,单位毫秒,缺省值不超时。
|
javax.mailsmtp.from
|
SMTP使用的Email地址,用来设置邮件的return地址。缺省是Message.getFrom()或InternetAddress.getLocalAddress()。注意:javax.mailsmtp.user优先使用
|
javax.mailsmtp.localhost
|
localhost名,缺省是InetAddress.getLocalHost().getHostName()。如果JDK和name service正确配置,一般不需设置。
|
javax.mailsmtp.ehlo
|
如果为false,那么不会尝试使用EHLO命令登录,缺省是true。通常EHLO命令失败,会倒退到HELO命令。这个属性只有在服务器没有fail EHLO属性或没有实现EHLO属性。
|
javax.mailsmtp.auth
|
缺省是false,如果为true,尝试使用AUTH命令认证用户。
|
javax.mailhost
|
邮件交互的主机。
|
javax.mailtransport.protocol
|
要装入session的协议(smtp、pop3、imap、nntp)。
|
javax.mailuser
|
登录邮件服务器的用户名(发送邮件时需要)。
|
javax.mailfrom
|
发件人地址(发送邮件时需要)。
|
mail.jar在1.3.1中存在一个严重的Bug:
当调用transport.connect();连接邮件SMTP服务器的时候,如果SMTP服务器没有响应,此API会一直等待不断开连接,即便你设置了javax.mail.smtp.connectiontimeout属性也不管用。这样发送邮件的线程就会一直是RUNABLE状态,但是却无所作为。
更新至1.4.2版本可以解决此问题。
分享到:
相关推荐
首先,mail.jar包含了JavaMail API,这是一个开源的Java库,它提供了与各种邮件服务器进行通信的标准接口。JavaMail API允许开发者编写跨平台的邮件应用,支持SMTP、POP3、IMAP等多种邮件协议。通过使用JavaMail,...
总结,mail1.5.4版本的jar包为Android应用提供了强大的邮件发送功能,通过JavaMail API的使用,开发者可以方便地实现邮件的发送,提升应用的完整性和便利性。在集成和使用过程中,注意安全性和异常处理,将有助于...
JavaMail.jar包含了一系列的类和接口,如`javax.mail.Session`、`javax.mail.Folder`、`javax.mail.Message`和`javax.mail.Transport`等,它们为开发者提供了处理邮件服务的全面支持。`Session`类是整个JavaMail API...
在下载的压缩包中,`javamail-1_4_1.zip` 文件包含了JavaMail的核心库,包括必要的jar文件,例如`mail.jar`,这个文件包含了JavaMail的全部API。而`jaf-1_0_2-upd2.zip` 文件则包含了JAF的相关库,例如`activation....
总的来说,"jar.zip解决bug专用"涉及了Java平台上的邮件处理技术和依赖管理,修复bug的过程可能包括分析问题、理解相关API、更新或配置库、调试代码以及管理项目依赖。这是一个典型的IT问题解决流程,需要开发者具备...
2. **mail.jar**:这是JavaMail的核心库,包含了发送和接收邮件所需的所有类和接口。例如,`javax.mail.Session`用于配置邮件服务器连接,`javax.mail.Transport`用于发送邮件,`javax.mail.Folder`和`javax.mail....
因此,理解和熟悉`mail.jar`插件的工作原理以及如何正确配置邮件服务器参数至关重要。同时,阅读和学习相关的教程,如描述中提到的"我写的jsp邮件发送文章",能够帮助开发者快速掌握邮件发送的技巧,避免常见错误。 ...
在使用JavaMail时,开发者通常需要导入javamail-1.4.6.jar和其他依赖库,如activation.jar(处理MIME类型和JAF,JavaBeans Activation Framework)。这些库文件通常在压缩包javamail-1.4.6中提供。 开发过程中,...
### JAVA常见异常BUG详解 #### 一、Java.lang.ArrayStoreException **定义**: `java.lang.ArrayStoreException` 是一种运行时异常(RuntimeException),当尝试向一个特定类型的对象数组存储不兼容类型的对象时...
在Android平台上实现邮件发送功能,虽然原理与JavaMail相似,但由于环境差异,直接使用Java Mail API可能会遇到兼容性问题。因此,通常我们会寻找专门为Android优化的邮件发送库。标题提到的"sendemail 邮件发送...