Java使用JavaMail进行邮件的发送和读取

参考文章

  1. 基于JavaMail的Java邮件发送:简单邮件发送

  2. 基于JavaMail的Java邮件发送:复杂邮件发送

  3. 用java读取邮箱邮件

补充说明

  1. iphone手机绑定qq邮箱及开启SMTP服务验证

    见:../../一些软件小技巧/软件小技巧.md

  2. qq邮箱的SMTP服务器

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱:qq.com

POP3服务器(端口995):pop.qq.com

SMTP服务器(端口465或587): smtp.qq.com

附:[常用邮箱的服务器(SMTP/POP3)地址和端口总结](https://www.likecs.com/show-160503.html)
  1. 报错:Couldn’t connect to host, port: smtp.gmail.com, 25; timeout -1

    示例中的代码开启的端口为465,用于qq邮箱,如果是其他的邮箱需要对应的修改一下

    gmail为:587

    这里有一个大坑:就是我本地是使用465才成功的,使用587一直连接不上(再来一个参考意见,使用25也可以试试,不过我没连上)

  2. 在本地测试无任何问题,但是上传到阿里云服务器(Centos 7)上就报错

    报错:Couldn't connect to host, port: smtp.163.com, 25; timeout -1;

    原因:阿里云出于安全考虑默认禁用25端口导致发邮件失败

    解决:参考https://blog.csdn.net/qq_38680405/article/details/123919728

  3. 使用google邮箱的时候,更改端口之后还是连接不上

    1. 端口使用465,而不是587(被注释掉的一段代码)

    2. 额外增加一个属性设置(这个我并没有用到,不过看到有这么写的,作为参考)

      props.setProperty(“mail.smtp.socketFactory.auth”, “true”);

    final String smtpPort = "465";
    props.setProperty("mail.smtp.port", smtpPort);
    props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.setProperty("mail.smtp.socketFactory.fallback", "false");
    props.setProperty("mail.smtp.socketFactory.auth", "true");
    props.setProperty("mail.smtp.socketFactory.port", smtpPort);
    
  4. 记录一下,我在使用google邮箱向163邮箱发送邮件的时候有延迟

    第一次延迟大概5分钟,第二次延迟大概4分钟

    表现如下

     1. 接口调用成功,这里设置的是立刻发送2. 在手机和网页版邮箱刷新都没有新邮件3. 过了几分钟,能收到新邮件通知了4. 并且收件箱上面显示的发件时间是几分钟之前
    

    但是换成qq邮箱给qq邮箱发送的时候就没有延迟了,其他的情况未测试

  5. 简单发送文本的content也是可以支持html标签的,所以如果你能够把页面上面的富文本转化为html标签的话,也是可以支持的

    如,我这边有一个富文本组件,输出出来的结果就是

    包裹的其他标签

    "

    123412

    sdfas

    asdfas2341

    sdfax

    cvzx

    cvx


    "

    把这个作为content传递给接口是可以发送的

    然后接下来测试了图片,包含大图片(5.88MB),输出出来的长度大概为8百多万的字符串,也是可以发送的,但是就比较慢了

    1. 接口很慢,但是可以成功(8.48秒)
    2. 网页版qq邮箱查看收件箱也很慢(3-4秒吧)
    3. 进入了收件箱之后显示图片也很慢(也大概3-4秒)

    这个示例是包含图片,但是大图片粘贴丢失了好多,就先展示这个吧

    <p>123412p><p>sdfasp><p>asdfas2341a>p><p><s>sdfaxs>p><p><em>cvzxem>p><p><strong>cvxstrong>p> 
    hello world\nfasdfsa\npre><p>2342sfsdsfp><p>p>
    


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部