最近发现一个问题,小伙伴给我发的邮件,收和回都不及时。于是我现在将所有的邮箱,通过POP3/SMTP协议整合到了一起。再配合小米手环,就能做到邮件无遗漏。

一、邮箱常用协议

邮箱中常用三类协议

  • POP3

    • Post Office Protocol version 3
    • **用于获取邮件。**适用于离线访问,客户端从服务端同步了一份数据。实际是两份数据。
    • 适合离线访问
  • IMAP
    • Internet Message Access Protocol
    • **用于获取邮件。**适用于在线访问,客户端直接访问的服务端数据。实际是同一份数据。
    • 适合多设备之间同步数据,比如邮件删除会所有设备都能同步。
  • SMTP
    • Simple Mail Transfer Protocol
    • 用于接收邮件

因此,想要实现一套邮箱服务,就要有收和发,那么就有两种组合方式

  • POP3/SMTP
  • IMAP/SMTP

二、阿里邮箱

2.1 配合域名使用阿里邮箱

此处针对阿里邮箱作为示例,简单记录一下。

2.2 代码示例

Java Maven 引入邮件依赖

<dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version>
</dependency>

pop3

import javax.mail.*;
import java.util.Properties;public class POP3Example {public static void list(String email, String emailPassword) {// POP3服务器连接属性Properties properties = new Properties();properties.setProperty("mail.store.protocol", "pop3");properties.setProperty("mail.pop3.host", "pop3.meethigher.top");properties.setProperty("mail.pop3.port", "110");properties.setProperty("mail.pop3.ssl.enable", "false");properties.setProperty("mail.debug", "true");Session session = Session.getInstance(properties);try (Store store = session.getStore("pop3")) {store.connect(email, emailPassword);// 打开收件箱Folder folder = store.getFolder("INBOX");folder.open(Folder.READ_ONLY);// 获取邮件Message[] messages = folder.getMessages();// 遍历处理邮件for (Message message : messages) {String sender = message.getFrom()[0].toString();String subject = message.getSubject();String content = message.getContent().toString();// 在这里处理邮件信息System.out.println("Sender: " + sender);System.out.println("Subject: " + subject);System.out.println("Content: " + content);System.out.println("------------------------------------");}} catch (Exception e) {e.printStackTrace();System.out.println("获取邮件失败");}}
}

imap

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import java.util.Properties;public class IMAPExample {public static void list(String email, String emailPassword) {// POP3服务器连接属性Properties properties = new Properties();properties.setProperty("mail.store.protocol", "imap");properties.setProperty("mail.imap.host", "imap.meethigher.top");properties.setProperty("mail.imap.port", "143");properties.setProperty("mail.imap.ssl.enable", "false");properties.setProperty("mail.debug", "true");Session session = Session.getInstance(properties);try (Store store = session.getStore("imap")) {store.connect(email, emailPassword);// 打开收件箱Folder folder = store.getFolder("INBOX");folder.open(Folder.READ_ONLY);// 获取邮件Message[] messages = folder.getMessages();// 遍历处理邮件for (Message message : messages) {String sender = message.getFrom()[0].toString();String subject = message.getSubject();String content = message.getContent().toString();// 在这里处理邮件信息System.out.println("Sender: " + sender);System.out.println("Subject: " + subject);System.out.println("Content: " + content);System.out.println("------------------------------------");}} catch (Exception e) {e.printStackTrace();System.out.println("获取邮件失败");}}
}

smtp

import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;public class SMTPExample {public static void send(String email, String emailPassword, String targetEmail) {// SMTP服务器连接属性Properties properties = new Properties();properties.setProperty("mail.smtp.host", "smtp.meethigher.top");properties.setProperty("mail.smtp.port", "80");properties.setProperty("mail.smtp.auth", "true");// 设置smtp是否需要认证properties.setProperty("mail.smtp.ssl.enable", "false");// 设置是否使用ssl安全连接 ---一般都使用properties.setProperty("mail.debug", "true");// 设置是否显示debug信息 true 会在控制台显示相关信息Session session = Session.getInstance(properties);try (Transport transport = session.getTransport()) {Message message = new MimeMessage(session);message.setFrom(new InternetAddress(email));message.setRecipient(Message.RecipientType.TO, new InternetAddress(targetEmail));message.setSubject("JavaMail SMTP Example");message.setText("This is a test email sent from JavaMail API.");transport.connect(email, emailPassword);transport.sendMessage(message, message.getAllRecipients());System.out.println("邮件发送成功");} catch (Exception e) {e.printStackTrace();System.out.println("邮件发送失败");}}
}

三、致谢参考

阿里邮箱IMAP、POP、SMTP地址和端口信息

阿里云(万网)域名使用阿里邮箱如何设置解析?
和端口信息](https://help.aliyun.com/document_detail/36576.html)

阿里云(万网)域名使用阿里邮箱如何设置解析?

meethigher-阿里邮箱POP3/SMTP服务相关推荐

  1. 开启 QQ 邮箱 POP3, SMTP 服务和获取服务授权码(密码)

    QQ 邮箱各种服务详细信息 服务类型 服务器地址 端口一 端口二 POP3 pop.qq.com 995 无 SMTP smtp.qq.com 465 587 然而仅仅有以上信息还不够,需要获取服务授 ...

  2. 快速打开Yahoo邮箱的 POP3/SMTP 服务功能

    文章来源: http://www.mail-magic.com/cgi-bin/topic.cgi?forum=1&topic=775&show=0 和朋友电话里臭聊,知道了一种快速打 ...

  3. qq邮箱 pop3smtp服务 php,QQ邮箱开启POP3/SMTP服务 POP3/SMTP服务什么意思

    QQ邮箱开启POP3/SMTP服务 POP3/SMTP服务什么意思.想打开邮箱POP3/SMTP服务,可就是不知道在那里打开,想用QQ邮箱来代收其他邮箱的邮件.下文就让小编跟大家介绍怎么开启QQ邮箱P ...

  4. python邮箱轰炸_如何利用QQ自带POP3/SMTP服务来实现邮件轰炸

    这是一段关于python的教学 首先我们需要对用来做发邮件的QQ邮箱进行一定的配置,我这里命名为客服端QQ 首先打开客服端QQ的邮箱,点击设置,再点击账户,开启POP3/SMTP服务,生成授权码 #! ...

  5. 开启POP3/SMTP服务

    实现发送邮件时需要先启用POP3/SMTP服务(以qq邮箱和网易邮箱启用为例) 一 qq邮箱启用 二.网易邮箱开启POP3/SMTP服务 至此:服务已开启 转载于:https://www.cnblog ...

  6. JavaMail 使用POP3/SMTP服务发送QQ邮件

    目录 一.说明 二.理解 三.实现 1.导入jar包 2.用户认证 3.发送邮件 创建步骤 简单的Email 带HTML的E-mail 带图片的Email 包含附件的邮件 一.说明 邮件服务器 为用户 ...

  7. Python利用POP3/SMTP服务自动发送qq邮件

    自动发送qq邮件的两种方法 第一种:POP3/SMTP服务发送qq邮件 废话不多说,直接上代码. # coding:utf-8 import smtplib from email.mime.text ...

  8. java 163邮件发送 ssl协议失败_163邮箱开启SMTP服务发送邮件出现535错误的解决方法...

    摘要: 用老的163邮箱可以直接设置SMTP发送邮件,使用新注册的却不行!折腾了几个小时后终于找到了方法,然后destoon就可以成功的发送邮件了..... 好久没有写关于destoon网站管理系统的 ...

  9. 邮箱Pop3 smtp地址服务器配置方法:

    在写一个发邮件时找到的,我想可能对大家有帮助 如何绑定邮箱(含163/126/sina/yahoo/gmail/QQ/hotmail/msn/live) 如何绑定邮箱(含163/126/sina/ya ...

最新文章

  1. 【三分钟学习FFMPEG一个知识点】FFMPEG关于avio_alloc_context申请使用内存释放问题
  2. [NOIP-S 2020]游记(附考前注意事项)
  3. python函数定义中参数列表里的参数是_python函数定义中的参数说明
  4. 使用visio 提示此UML形状所在的绘图页不是UML模型图的一部分 请问这个问题怎么解决?...
  5. 旅游规划(双权连通图)
  6. 3. XML 树结构
  7. 《软件设计精要与模式》书评
  8. JVM内存管理--GC算法精解(五分钟教你终极算法---分代搜集算法)
  9. manjaro(linux)安装网易云音乐
  10. python调用nmap扫描全端口_python nmap 扫描服务器端口
  11. DAV 转 AVI 软件 dav2avi
  12. 对数log ln lg 的java实现和mysql实现
  13. 数据治理之元数据管理
  14. C++利用opencv 按顺序遍历文件夹图片
  15. 计算机网络基础之安全防范措施
  16. java关联jnlp,[javaws]jnlp介绍及使用
  17. 40079 钉钉_钉钉获取免登陆授权码CODE,返回:不存在的临时授权码40078
  18. 深信服AD应用交付管理维护
  19. 【多尺度密集递归融合网络:超分】
  20. C语言程序设计课程设计(服装销售管理系统)

热门文章

  1. 全卷积神经网络(FCN)论文笔记
  2. 一曲相思(Cover:阿悠悠)完整版mp3下载
  3. 超过200万套房断供,到底哪个城市买房最合适?
  4. 02_d2-分类算法概述
  5. js、jq获取当前点击元素的下标
  6. linux美国华盛顿时间,centos系统时间与硬件时间不一致
  7. 更新丨三大模块升级,助力高效交付商业项目!
  8. 行亦谦ACM自闭之旅第四周
  9. Transformers 库中的 Tokenizer 使用
  10. 【docker】docker的安装教程