我的编程空间,编程开发者的网络收藏夹
学习永远不晚

利用JavaMail怎么实现一个邮件发送与接收功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

利用JavaMail怎么实现一个邮件发送与接收功能

利用JavaMail怎么实现一个邮件发送与接收功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1、JavaMail 介绍

  JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。

利用JavaMail怎么实现一个邮件发送与接收功能

下载这个版本的JavaMail,包含了SMTP, IMAP, 和 POP3 协议的实现。 

2、JavaMail API

  JavaMail API 按照功能可以划分为如下三大类:

  ①、创建和解析邮件的API

  ②、发送邮件的API

  ③、接收邮件的API

  以上三种类型的API在JavaMail 中由多个类组成,但是主要有四个核心类,我们在编写程序时,记住这四个核心类,就很容易编写出Java邮件处理程序。

利用JavaMail怎么实现一个邮件发送与接收功能

  ①、Message 类:javax.mail.Message 类是创建和解析邮件的核心 API,这是一个抽象类,通常使用它的子类javax.mail.internet.MimeMessage 类。它的实例对象表示一份电子邮件。客户端程序发送邮件时,首先使用创建邮件的 JavaMail API 创建出封装了邮件数据的 Message 对象,然后把这个对象传递给邮件发送API(Transport 类) 发送。客户端程序接收邮件时,邮件接收API把接收到的邮件数据封装在Message 类的实例中,客户端程序在使用邮件解析API从这个对象中解析收到的邮件数据。

  ②、Transport 类:javax.mail.Transport 类是发送邮件的核心API 类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如 SMTP 协议,客户端程序创建好 Message 对象后,只需要使用邮件发送API 得到 Transport 对象,然后把 Message 对象传递给 Transport 对象,并调用它的发送方法,就可以把邮件发送给指定的 SMTP 服务器

  ③、Store 类:javax.mail.Store 类是接收邮件的核心 API 类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如 POP3 协议,客户端程序接收邮件时,只需要使用邮件接收 API 得到 Store 对象,然后调用 Store 对象的接收方法,就可以从指定的 POP3 服务器获得邮件数据,并把这些邮件数据封装到表示邮件的 Message 对象中。

  ④、Session 类:javax.mail.Session 类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,例如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session 对象根据这些信息构建用于邮件收发的 Transport 和 Store 对象,以及为客户端创建 Message 对象时提供信息支持。  

3、使用 JavaMail 发送简单的纯文本邮件

  在理解下面通过代码实现邮件的发送时,我们可以将邮件发送假想为火箭运载这卫星发送。其中Message 是卫星,Transport 是火箭,而卫星和火箭的构建都需要 Session 的帮助,这样的关系更加便于记忆。

package com.ys.mail; import java.io.ObjectInputStream.GetField;import java.util.Date;import java.util.Properties; import javax.mail.Address;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import javax.swing.text.html.MinimalHTMLWriter; public class SendMailText { //发件人地址 public static String senderAddress = "xxx@163.com"; //收件人地址 public static String recipientAddress = "xxx@qq.com"; //发件人账户名 public static String senderAccount = "xxx"; //发件人账户密码 public static String senderPassword = "xxx";  public static void main(String[] args) throws Exception { //1、连接邮件服务器的参数配置 Properties props = new Properties(); //设置用户的认证方式 props.setProperty("mail.smtp.auth", "true"); //设置传输协议 props.setProperty("mail.transport.protocol", "smtp"); //设置发件人的SMTP服务器地址 props.setProperty("mail.smtp.host", "smtp.163.com"); //2、创建定义整个应用程序所需的环境信息的 Session 对象 Session session = Session.getInstance(props); //设置调试信息在控制台打印出来 session.setDebug(true); //3、创建邮件的实例对象 Message msg = getMimeMessage(session); //4、根据session对象获取邮件传输对象Transport Transport transport = session.getTransport(); //设置发件人的账户名和密码 transport.connect(senderAccount, senderPassword); //发送邮件,并发送到所有收件人地址,message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人 transport.sendMessage(msg,msg.getAllRecipients());   //如果只想发送给指定的人,可以如下写法 //transport.sendMessage(msg, new Address[]{new InternetAddress("xxx@qq.com")});   //5、关闭邮件连接 transport.close(); }   public static MimeMessage getMimeMessage(Session session) throws Exception{ //创建一封邮件的实例对象 MimeMessage msg = new MimeMessage(session); //设置发件人地址 msg.setFrom(new InternetAddress(senderAddress));  msg.setRecipient(MimeMessage.RecipientType.TO,new InternetAddress(recipientAddress)); //设置邮件主题 msg.setSubject("邮件主题","UTF-8"); //设置邮件正文 msg.setContent("简单的纯文本邮件!", "text/html;charset=UTF-8"); //设置邮件的发送时间,默认立即发送 msg.setSentDate(new Date());   return msg; } }

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

利用JavaMail怎么实现一个邮件发送与接收功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

利用JavaMail怎么实现一个邮件发送与接收功能

利用JavaMail怎么实现一个邮件发送与接收功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、JavaMail 介绍  JavaMail 是sun公司(现以被甲骨文收
2023-05-31

利用JavaMail怎么实现一个邮件发送功能

这篇文章将为大家详细讲解有关利用JavaMail怎么实现一个邮件发送功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。用java发邮件,必须要导入新的包 mail.jar – 发
2023-05-31

怎么在Java中利用JavaMail实现一个邮件发送功能

这期内容当中小编将会给大家带来有关怎么在Java中利用JavaMail实现一个邮件发送功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 电子邮件协议电子邮件的在网络中传输和网页一样需要遵从特定的协议
2023-05-31

利用Jmail实现一个邮件发送功能

今天就跟大家聊聊有关利用Jmail实现一个邮件发送功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:import lombok.extern.slf4j.Slf4j;i
2023-05-31

利用spring框架怎么实现一个邮件发送功能

这篇文章将为大家详细讲解有关利用spring框架怎么实现一个邮件发送功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本
2023-05-30

利用springMVC如何实现一个邮件发送功能

这篇文章给大家介绍利用springMVC如何实现一个邮件发送功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。利用javax.mail发送邮件,图片与附件都可发送1,Controller类package com.web
2023-05-31

利用Node.JS实现邮件发送功能

第一步、配置篇 首先需要安装nodemailer库npm install nodemailer//默认会安装最新的版本。关于这个库的文档参见nodemailer 第二步、库的一些使用介绍这个库使用方法很简单的。首先是要创建一个用于发送邮件的
2022-06-04

PHP怎么利用PHPMailer实现邮件发送功能

这篇文章将为大家详细讲解有关PHP怎么利用PHPMailer实现邮件发送功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、安装环境PHPMailer 需要 PHP 的 sockets 扩展支持另外登录
2023-06-29

利用PHP邮件函数实现邮件发送和接收功能的方法总结

利用PHP邮件函数实现邮件发送和接收功能的方法总结随着互联网的普及,电子邮件成为了人们日常生活中必不可少的沟通工具之一。而在网站开发中,也常常需要实现邮件发送和接收的功能。PHP作为一种常用的服务器端脚本语言,提供了一系列强大的邮件函数,可
利用PHP邮件函数实现邮件发送和接收功能的方法总结
2023-11-20

利用PHP邮件处理函数实现邮件发送和接收功能的方法总结

利用PHP邮件处理函数实现邮件发送和接收功能的方法总结在当今互联网时代,电子邮件已成为了人们日常生活和工作中不可或缺的一部分。而在网站开发中,有时候我们也需要利用PHP来实现邮件的发送和接收功能。PHP提供了很多邮件处理函数,下面将对利用P
利用PHP邮件处理函数实现邮件发送和接收功能的方法总结
2023-11-20

java怎么实现发送邮件功能

要在Java中实现发送邮件的功能,可以使用Java Mail API。以下是一个简单的示例代码:import javax.mail.*;import javax.mail.internet.*;import java.util.Pro
2023-10-26

如何使用Spring Boot实现一个邮件发送功能

本篇文章给大家分享的是有关如何使用Spring Boot实现一个邮件发送功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、引入依赖
2023-05-31

PHP怎么用phpmailer实现邮件发送功能

这篇文章主要介绍“PHP怎么用phpmailer实现邮件发送功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP怎么用phpmailer实现邮件发送功能”文章能帮助大家解决问题。百度上基本上介绍
2023-06-30

PHP中怎么实现邮件发送功能

这篇文章给大家介绍PHP中怎么实现邮件发送功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PHP发送邮件的页面代码:< ?php require("mail/class.phpmailer.php");//调用
2023-06-17

怎么使用PHP实现发送邮件的功能

今天小编给大家分享一下怎么使用PHP实现发送邮件的功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、PHP发邮件的基本原
2023-07-05

PHP怎么实现发送电子邮件功能

这篇文章主要介绍“PHP怎么实现发送电子邮件功能”,在日常操作中,相信很多人在PHP怎么实现发送电子邮件功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么实现发送电子邮件功能”的疑惑有所帮助!接下来
2023-06-04

如何利用MySQL和C++开发一个简单的邮件发送功能

如何利用MySQL和C++开发一个简单的邮件发送功能摘要:本文将介绍如何以MySQL数据库为基础,使用C++编程语言开发一个简单的邮件发送功能。文章主要包括以下几个方面的内容:数据库设计、C++代码实现和邮件发送功能的实现。一、数据库设计在
2023-10-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录