`
xiangxingchina
  • 浏览: 524608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaMail的属性以及mail.jar的Bug

阅读更多

必须了解的基本概念与核心类: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版本可以解决此问题。

分享到:
评论
1 楼 gflei 2011-07-21  
确实碰到过

相关推荐

    mail.jar及activation.jar包.zip

    首先,mail.jar包含了JavaMail API,这是一个开源的Java库,它提供了与各种邮件服务器进行通信的标准接口。JavaMail API允许开发者编写跨平台的邮件应用,支持SMTP、POP3、IMAP等多种邮件协议。通过使用JavaMail,...

    mail1.5.4版本jar包

    总结,mail1.5.4版本的jar包为Android应用提供了强大的邮件发送功能,通过JavaMail API的使用,开发者可以方便地实现邮件的发送,提升应用的完整性和便利性。在集成和使用过程中,注意安全性和异常处理,将有助于...

    JavaMail.jar文件

    JavaMail.jar包含了一系列的类和接口,如`javax.mail.Session`、`javax.mail.Folder`、`javax.mail.Message`和`javax.mail.Transport`等,它们为开发者提供了处理邮件服务的全面支持。`Session`类是整个JavaMail API...

    javamail及其支持jaf的jar包

    在下载的压缩包中,`javamail-1_4_1.zip` 文件包含了JavaMail的核心库,包括必要的jar文件,例如`mail.jar`,这个文件包含了JavaMail的全部API。而`jaf-1_0_2-upd2.zip` 文件则包含了JAF的相关库,例如`activation....

    jar.zip解决bug专用

    总的来说,"jar.zip解决bug专用"涉及了Java平台上的邮件处理技术和依赖管理,修复bug的过程可能包括分析问题、理解相关API、更新或配置库、调试代码以及管理项目依赖。这是一个典型的IT问题解决流程,需要开发者具备...

    javamail所需要的包

    2. **mail.jar**:这是JavaMail的核心库,包含了发送和接收邮件所需的所有类和接口。例如,`javax.mail.Session`用于配置邮件服务器连接,`javax.mail.Transport`用于发送邮件,`javax.mail.Folder`和`javax.mail....

    mail邮件发送插件

    因此,理解和熟悉`mail.jar`插件的工作原理以及如何正确配置邮件服务器参数至关重要。同时,阅读和学习相关的教程,如描述中提到的"我写的jsp邮件发送文章",能够帮助开发者快速掌握邮件发送的技巧,避免常见错误。 ...

    javamail1_4_6下载

    在使用JavaMail时,开发者通常需要导入javamail-1.4.6.jar和其他依赖库,如activation.jar(处理MIME类型和JAF,JavaBeans Activation Framework)。这些库文件通常在压缩包javamail-1.4.6中提供。 开发过程中,...

    JAVA常见异常BUG

    ### JAVA常见异常BUG详解 #### 一、Java.lang.ArrayStoreException **定义**: `java.lang.ArrayStoreException` 是一种运行时异常(RuntimeException),当尝试向一个特定类型的对象数组存储不兼容类型的对象时...

    sendemail 邮件发送

    在Android平台上实现邮件发送功能,虽然原理与JavaMail相似,但由于环境差异,直接使用Java Mail API可能会遇到兼容性问题。因此,通常我们会寻找专门为Android优化的邮件发送库。标题提到的"sendemail 邮件发送...

Global site tag (gtag.js) - Google Analytics