【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:邮件发送时间限制,单位毫秒。有关发送邮件时内容上传的时间长短。默认同样是无限制。

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

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

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

Original: https://www.cnblogs.com/xiohao/p/14365145.html
Author: @ 小浩
Title: 【Java】发送邮件和接收邮件配置超时时间

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536751/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java资料大全(视频内容包含源码)

    转眼间已经到了六月,陆陆续续不少小伙伴需要学习资料,我将资料进行了一个整理,方便大家查阅。这次分享涉及到python爬虫,数据分析,java后端技术,测试等, 文末关注然后回复相应…

    Java 2023年5月29日
    066
  • 正则 捕获组之反向引用

    之前写正则的时候,经常用到 (.*?) 之类的用法.一般在替换的时候会用 $1 来引用括号里面匹配到的内容比如, 1.1.1.1 aaaa 2.2.2.2 bbbb 3.3.2.3…

    Java 2023年6月16日
    095
  • JAVA 异常 基本知识

    异常 异常定义 异常是运行过程中出现的错误 人为错误:填写错误等 随机错误:网络中断、内存耗尽等 一个健壮的程序必须处理各种各样的错误 Java的异常是class Object T…

    Java 2023年6月9日
    060
  • 五分钟搭建博客系统 OK?

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 概要: 通过 Docker Compose 在使用 Docker容器构建的隔离环境中轻松运行 WordPress。…

    Java 2023年6月5日
    071
  • Java开发中如何选择集合实现类

    一组单列对象:Collection 允许重复:List 增删较多:LinkedList(双向链表)改查较多:ArrayList(可变数组)线程安全:Vector 不允许重复:Set…

    Java 2023年6月9日
    062
  • Java方法和数组

    方法 什么是方法 Java方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则…

    Java 2023年6月5日
    0102
  • 1. 配置Java开发环境

    一、JDK & JRE & JVM JDK是什么? JDK的全称是Java SE Development Kit,即Java标准版开发包,是Oracle提供的一套用…

    Java 2023年5月29日
    098
  • 设计模式之迭代器模式

    本文介绍设计模式中的迭代器模式,首先通俗的解释迭代器模式的基本概念和对应的四个角色,并根据四个角色举一个典型的实例,为了加强知识的连贯性,我们以Jdk源码集合中使用迭代器模式的应用…

    Java 2023年6月8日
    073
  • 前后端分离,SpringBoot如何实现验证码操作

    验证码的功能是防止非法用户恶意去访问登录接口而设置的一个功能,今天我们就来看看在前后端分离的项目中,SpringBoot是如何提供服务的。 SpringBoot版本 本文基于的Sp…

    Java 2023年6月8日
    076
  • 反射加缓存,解决不同的业务下调用不同的实现

    根据前端传入不同的支付code,动态找到对应的支付方法,发起支付。我们先定义一个注解。 @Retention(RetentionPolicy.RUNTIME) @Target(El…

    Java 2023年6月14日
    061
  • Dubbo面试大纲

    本篇文章不是进行详细的Dubbo实现以及原理分析的文章,适用于用过Dubbo,对Dubbo有一定了解准备面试的小伙伴阅读。下面列的一些点,如果能在面试时候说到,那面试官肯定觉得不错…

    Java 2023年6月7日
    078
  • 容器与虚拟机的区别

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年5月30日
    064
  • SpringMVC(4)-接收前端参数以及返回前端结果

    还是在上一个项目的基础上做(SpringMVC(2)-注解开发MVC这个,这个里边已经写好了视图解析器,jsp文件等信息) 1.新建一个实体类在com.xiaoma文件夹下新建一个…

    Java 2023年6月9日
    067
  • 油猴插件安装以及好用的脚本推荐

    现在浏览器不搞几个插件和IE浏览器有啥区别,因此今天推荐一下及其强力的油猴(Tampermonkey)插件。 一、Tampermonkey插件安装 想使用插件首先要安装插件,我这里…

    Java 2023年6月13日
    068
  • 书写高质量sql的一些建议

    It’s better to light a candle than to curse the darkness 老生常谈的不要使用 select * 如果硬要使用se…

    Java 2023年6月13日
    070
  • MVC架构-01

    MVC 本文为动力节点老杜web课程mvc部分笔记,以银行转账项目为例 不使用MVC框架(分析存在的问题 1.搞个数据库 CREATE TABLE t_act ( id bigin…

    Java 2023年6月14日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球