zoukankan      html  css  js  c++  java
  • 【Java】发送邮件和接收邮件配置超时时间

    首先了解一下发邮件如果超时会怎样,一直阻塞,如果你是用多线程组的话,那么不好意思那你会一直阻塞,解决办法有吗?有。

    首先先知道一下javamail提供的关于超时的3个参数。

    smtp

    • mail.smtp.connectiontimeout:连接时间限制,单位毫秒。是关于与邮件服务器建立连接的时间长短的。默认是无限制。
    • mail.smtp.timeout:邮件smtp时间限制,单位毫秒。这个是有关邮件读取时间长短。默认是无限制。
    • mail.smtp.writetimeout:邮件发送时间限制,单位毫秒。有关发送邮件时内容上传的时间长短。默认同样是无限制。

    如此类推,还有2种

    imap

    • mail.imap.connectiontimeout:连接时间限制,单位毫秒。是关于与邮件服务器建立连接的时间长短的。默认是无限制。
    • mail.imap.timeout:邮件smtp时间限制,单位毫秒。这个是有关邮件读取时间长短。默认是无限制。
    • mail.imap.writetimeout:邮件发送时间限制,单位毫秒。有关发送邮件时内容上传的时间长短。默认同样是无限制。

    pop3

    • mail.pop3.connectiontimeout:连接时间限制,单位毫秒。是关于与邮件服务器建立连接的时间长短的。默认是无限制。
    • mail.pop3.timeout:邮件smtp时间限制,单位毫秒。这个是有关邮件读取时间长短。默认是无限制。
    • mail.pop3.writetimeout:邮件发送时间限制,单位毫秒。有关发送邮件时内容上传的时间长短。默认同样是无限制。

    看到没,不设置默认无限制,那这样万一对面服务器出什么问题,那我们这边如果有多个线程会一直阻塞

    所以必须设置,配置很简单,在发送前和接收前的配置加上时间就好,例如

    1.  
      Properties prop = new Properties();//这里不用new,用回你那个就好
    2.  
       
    3.  
      prop.put("mail.smtp.connectiontimeout", "25000");// 设置接收超时时间
    4.  
      prop.put("mail.smtp.timeout", "25000");// 设置读取超时时间
    5.  
      prop.put("mail.smtp.writetimeout", "25000");// 设置写入超时时间

    然后问题就解决了!其他类推

    参考链接:https://blog.csdn.net/hj7jay/article/details/100574491

    联系方式



  • 相关阅读:
    ASP.NET编程的十大技巧
    C#学习心得(转)
    POJ 1177 Picture (线段树)
    POJ 3067 Japan (树状数组)
    POJ 2828 Buy Tickets (线段树)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4235 Flowers (线段树)
    POJ 2886 Who Gets the Most Candies? (线段树)
    POJ 2418 Cows (树状数组)
    HDU 4339 Query (线段树)
  • 原文地址:https://www.cnblogs.com/xiohao/p/14365145.html
Copyright © 2011-2022 走看看