JavaMail

本文深入解析JavaMail,介绍如何利用该库在Java应用程序中实现邮件的发送与接收,包括SMTP、POP3、IMAP等邮件协议的支持,以及如何创建、配置邮件会话,发送HTML格式邮件和带附件的邮件。

JavaMail是开发人员在应用程序中实现邮件发送和接收功能的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP
在这里插入图片描述

邮件传输协议

  • SMTP
    – 简单邮件传输协议,是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议
    – SMTP服务器会中转消息给接收方SMTP服务器以便最终让用户经由POP或者IMAP获得邮件内容
  • POP
    – POP协议是允许电子邮件客户端下载服务器上的邮件的协议
  • IMAP
    – IMAP全称是因特网消息访问协议,是更高级的用户接收邮件的协议
  • MIME
    – 多用途互联网邮件扩展类型,它不是邮件传输协议,但是对于传输的内容的消息、附件以及其他的内容定义了格式。
JavaMail主要组件
  • Session
    – Session 类定义了一个基本邮件会话(session),是Java Mail API最高层入口类。所有其它类都是经由这个session 才得以生效
  • Message
    – 定义邮件信息,比如内容、标题等,Message是抽象类,更常用的是javax.mail.internet.MimeMessage类
  • Address
    – 用于设置邮件的发件人和收件人地址,常用的是其子类javax.mail.internet.InternetAddress
  • Authenticator
    – 授权者类,以用户名、密码的方式访问邮件服务器
  • Transport
    – Transport类实现了发送邮件的协议(通常为SMTP)
发送邮件
  • 设定所使用的Mail服务器和所使用的传输协议
    在这里插入图片描述
  • 创建新的Session服务
    Session.getInstance(props, new Authenticator())
  • 创建一个Message对象
    New MimeMessage(session)
  • 设定发、收件人地址,邮件标题、内容等
    在这里插入图片描述
  • 使用Transport将邮件发出
    在这里插入图片描述

JavaMail将这两种不同操作描述为传输(javax.mail.Transport)和存储(javax.mail.Store),传输对应邮件的发送,而存储对应邮件的接收。

发送HTML格式邮件

某些网站有电子期刊的功能,通常会使用HTML格式来表现丰富的内容

  • 发送HTML格式内容的邮件与普通邮件的不同点为:
    – 使用MimeBodyPart类的setContent方法设定邮件的MIME类型(text/plain或text/html)
  • 发送带附件的邮件
    • 将邮件内容存入MimeBodyPart对象中
    • 将附件文件存入另一个MimeBodyPart对象中
    • 把两个MimeBodyPart对象添加到MimeMultipart对象中
    • 合二为一地加入Message对象中送出
接收邮件

– 设定所使用的Mail服务器和所使用的传输协议
在这里插入图片描述
在这里插入图片描述
– 创建Session对象
在这里插入图片描述
– 使用Session得到Store,并连接
在这里插入图片描述
– 从Store中取得收件箱,并打开,获取邮件信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值