前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA:如何发邮件?

JAVA:如何发邮件?

作者头像
WEBJ2EE
发布2019-07-19 11:53:50
1.6K0
发布2019-07-19 11:53:50
举报
文章被收录于专栏:WebJ2EEWebJ2EE

1. SMTP、POP3、IMAP 啥关系 ?

先看一张比较有年代感的图...

SMTP:

  • 全称 “Simple Mail Transfer Protocol”,简单邮件传输协议;
  • 使用 TCP 可靠数据传输服务;
  • 端口 25;
  • 用于发送邮件;
  • 用于从发送方的邮件服务器发送邮件到接收方的邮件服务器;
  • RFC 2821 -> RFC 5536;

https://datatracker.ietf.org/doc/rfc2821/ https://datatracker.ietf.org/doc/rfc5336/

SMTP 是用来【发】邮件的

POP3:

  • 全称 “Post Office Protocol 3” ,第三版邮局协议;
  • 使用 TCP 可靠数据传输服务;
  • 用于接收邮件;
  • 用于将邮件从邮件服务器拉取到本地用户代理;
  • RFC 1939;

注:POP3 协议很简单,功能也很有限;比如 POP3 虽然允许从邮件服务器上下载邮件,但它不会将客户端的操作(如移动邮件、标记已读等)反馈到服务器上;

POP3 是用来【收】邮件的

IMAP:

  • 全称 “Internet Mail Access Protocol”,因特网邮件访问协议;
  • 与 POP3 类似,也用于邮件,但它比POP3更强大;
  • RFC 3501;

注:IMAP 不仅可以从邮件服务器上下载邮件,而且它可以将客户端上的操作(如移动邮件、标记已读等)都反馈到邮件服务器上;所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。

IMAP 也是用来【收】邮件的

比 POP3 更专业

2. SMTP 通信协议概述

SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端与SMTP服务器之间,以及两台SMTP服务器之间发送邮件的通信规则 。SMTP 协议属于TCP/IP协议族,通信双方采用一问一答的命令/响应形式进行对话,且定了对话的规则和所有命令/响应的语法格式。

—— 抄的

—— 抄的

是时候秀一波操作了

下面演示用 SMTP 命令发一封邮件

场景描述:

工具:Telnet 发件人:<lzx@dareway.com.cn> 收件人:<webj2ee@126.com> 主题:A very important email. 正文:Hello, I am webj2ee, good to see you.

A. 检查是否已安装 Telnet 客户端:

B. 使用 SMTP 命令发送邮件:

3. 使用 Commons Email 发邮件

Java 环境中实现邮件发送功能,常用两种方式:

  • JavaMail;
  • Apache Commons Email;

Apache Commons Email 是基于 JavaMail 的封装,接口更友好,使用更简单;

示例:使用 JavaMail 发送邮件

示例:使用 Apache Commons Email 发送邮件

建议使用

Apache Commons Email

实现邮件收发功能

参考:

http://www.oracle.com/technetwork/java/javamail/index.html https://javaee.github.io/javamail/ http://commons.apache.org/proper/commons-email/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebJ2EE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据传输服务
腾讯云数据传输服务(Data Transfer Service,DTS)可帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道轻松构建高可用的数据库多活架构,通过数据订阅来满足商业数据挖掘、业务异步解耦等场景需求。同时,DTS 还提供私有化独立输出版本 DTS-DBbridge,支持异构数据库和同构数据库之间迁移和同步,可以帮助企业实现完整数据库迁移(如 Oracle)。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档