当你用到邮箱这方面的功能,可以参考该篇文章。已经在实际应用使用中。

适应qq邮箱(国内大部分邮箱跟qq相似,如163),hotmail(outlook),国外邮箱gmail等配置,已经能通过代码发送成功

上面3种邮箱都需要开通smtp服务

在实际应用中只弄了发送邮件功能,包含发送附件、图片等。

源码

参考

我这个源码是基于 https://github.com/mailhu/emailkit 上修改 因为没有对hotmail和gmail的支持,增加这两个。

而上面这个框架是基于javamail。Jakarta Mail是Jakarta EE API,用於通過SMTP,POP3和IMAP發送和接收電子郵件。Jakarta Mail內置於Java EE平台中,但還提供了用於Java SE的可選軟件包。javamail官网

开通邮箱授权方式

qq邮箱

步骤1

步骤2

qq邮箱和其他国内邮箱均是通过授权码方式登录的。

outlook邮箱

步骤1

步骤2

outlook邮箱跟别的邮箱有点不一样的就是,只要开通后,就可以通过邮箱和邮箱本身密码操作邮件。也可以选择开通授权码进行授权码方式登录。

gmail邮箱

步骤1

步骤2

步骤3,开启应用访问权限

步骤4

如果开启了二次验证,那么必须用授权码方式登录

gmail邮箱开通smtp服务后,还需要开通应用访问权限才可登录,当然,也可以选择2次验证密码+授权码方式登录。

使用邮箱的一些隐患问题

每种邮箱都有每天发送的上限,可以上网查下每种邮箱的上限。并且也有禁止发送频率,比如outlook我试过每过2秒发一封,发了大概30封后直接封了我一天。

发送邮件在代码上处理不当的话会导致邮箱线程阻塞情况。源码上面我增加了以下代码

properties.put("mail.smtp.connectiontimeout", 10000); // 连接时间限制,单位毫秒。是关于与邮件服务器建立连接的时间长短的。默认是无限制。

properties.put("mail.smtp.timeout", 10000); // 邮件接收时间限制,单位毫秒。这个是有关邮件接收时间长短。默认是无限制。

properties.put("mail.smtp.writetimeout", 8 * 60 * 1000); // 8分钟,邮件发送时间限制,单位毫秒。有关发送邮件时内容上传的时间长短。默认同样是无限制。

考虑到了可能附件上传较大,所以用8分钟的时间限制

java 发邮件授权码_javamail - androidmail 发送邮件 各种邮件授权方式相关推荐

  1. Spring Security Oauth2 授权码模式下 自定义登录、授权页面

    主要说明:基于若依springcloud微服务框架的2.1版本 嫌弃缩进不舒服的,直接访问我的博客站点: http://binarydance.top//aticle_view.html?aticle ...

  2. java 163 授权码_JavaMail使用163,sina邮箱,发送失败

    JavaMail使用163,sina邮箱,发送失败,前几个月还是可用的.同样的代码,没有修改,是不是这些邮箱改了认证措施,pop/smtp设置也都开启了 DEBUG SMTP: connected t ...

  3. 钉钉获取免登授权码 php_php代码如何加域名授权?开源php项目如何保护版权 商业授权?...

    php在web开发领域是最热门的语言,也是开发项目的不二选择,许多PHP开发者说它是当今世界上最好的开发语言,php开发项目效率高,是因为开源项目太多了,不管是国内,还是国外,开源的框架,开源的CMS ...

  4. Java发邮件(详解+源代码)

    Java发送邮件 一.邮件概述 (1)收发邮件 发邮件大家都会吧!发邮件是从客户端把邮件发送到邮件服务器,收邮件是把邮件服务器的邮件下载到客户端. 我们在163.126.QQ等网站注册的Email账户 ...

  5. java 邮件模板_Spring Boot 2发送邮件手把手图文教程

    点击上方 IT牧场 ,选择 置顶或者星标技术干货每日送达! 本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 最近有童鞋问到笔者如何用Spring Boo ...

  6. Python邮件发送SMATP模块详细总结(含qq邮箱及163邮箱服务开启及授权码获取,多附件发送)

    Python实现电子邮件发送 在生活中或许我们多数都在用微信或者是QQ,但是工作中就会涉及邮件了,我也是最近在工作中用到了,所以找了些资料,有的较为完备有的就特别零散,所以自己也来整理分享一下.这里主 ...

  7. 邮箱客户端无法收发邮件-使用授权码/更换端口号解决

    文章首发及后续更新:https://mwhls.top/2017.html 新的更新内容请到mwhls.top查看. 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看. 从来不用客户端发邮件 ...

  8. java 授权码模式_Spring Security OAuth2 授权码模式的实现

    写在前边 在文章OAuth 2.0 概念及授权流程梳理 中我们谈到OAuth 2.0的概念与流程,这里我准备分别记一记这几种授权模式的demo,一方面为自己的最近的学习做个总结,另一方面做下知识输出, ...

  9. linux上无法发送163邮件,如何在linux中发送邮件,使用163邮箱发信。

    linux中,可以使用mail命令往外发送邮件,在使用前,只需要指定如下简单配置即可,这里演示用  163.com    邮箱发送至 qq.com 编辑 /etc/mail.rc,写入下方的参数 se ...

最新文章

  1. 玩转动态编译 - 高级篇:一,IL访问静态属性和字段
  2. hdu4561 连续最大积
  3. Django视图(一)
  4. 北航计算机学院有河南的,北航计划在豫招生165人 河南多所高职公布预录名单...
  5. python3解码base64_python3base64解码混乱的换行符
  6. Codeforces D546:Soldier and Number Game
  7. php imagemagick 翻译目录
  8. python多进程用不了_python 多进程,实际上都没有运行,sleep
  9. css伪元素总结(内附实例)
  10. 淘宝店铺装修旺铺基础版全屏轮播代码效果1920PX海报
  11. 动态添加SqlParameter
  12. vue扫码跳转页面_VUE 网页 扫码登录(微信)
  13. MATLAB制图代码
  14. 根据输入的姓氏,随机获取对应的男生和女生姓名
  15. 侨鑫集团:不一样的CIO,不一样的数字化转型之路
  16. 基础程序教学教程【语言:python3.4】
  17. 设备安全——防火墙j基础策略实验【华为NSP】
  18. 事后诸葛亮-团队总结
  19. HDU 1024 Max Sum Plus Plus
  20. 程序员会被AI取代?程序员在AI时代如何华丽变身?

热门文章

  1. php劳保管理系统,劳保用品管理信息系统软件
  2. keyshot分辨率多少合适_KeyShot渲染设置技巧,教你KeyShotVR自定义设置
  3. cp 过程流程图模板_程序流程图有什么用?简单实用的流程图模板大全
  4. android web连接问题,Android WebView或手机浏览器打开连接问题解决办法总结
  5. IEEE 标准 802.1Qav™-2009翻译
  6. 在Redhat Linux系统上安装NVIDIA显卡驱动的详细教程
  7. js 一段语音转换为文字 (暂时没有测试)
  8. Bootstrap中Cannot read property 'locales' of undefined at bootstrap-table-zh-CN.min.js:10的问题
  9. unravel罗马音
  10. Puppeteer 出现部分中文显示乱码