iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >JavaEmail邮件发送简单实现介绍
  • 828
分享到

JavaEmail邮件发送简单实现介绍

JavaEmailJava邮件发送 2022-11-13 19:11:53 828人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、邮件协议1.POP32.SMTP3.IMAP4.IMAP和POP3有什么区别二、发送邮件三、总结一、邮件协议 MTA 和 MDA 这样的服务器软件通常是现成的,我们通常不会关

一、邮件协议

MTA 和 MDA 这样的服务器软件通常是现成的,我们通常不会关心这些邮件服务器的内部是如何运行 的。更多的需求场景,是需要发送邮件。例如:促销商品邮件、验证码邮件、消息通知邮件等。常见的 邮件协议有: POP3 、 SMTP 、 IMAP 。

1.POP3

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件 服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把 邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循 POP3协议的接收邮件服务器,用来接收电子邮件的。

2.SMTP

SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传 输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 tcp/IP 协议簇,它帮助每台计算机在发送或中 转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。 SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾 邮件的散播者无可乘之机。 增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

3.IMAP

IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之 一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留 在服务器上,同时在客户端上的操作 都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登 录邮箱或者客户端 软件登录邮箱,看到的邮件以及状态都是一致的。

4.IMAP和POP3有什么区别

  • POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记 已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮 箱服务器上的这些邮件是没有同时被移动的 。
  • IMAP提供WEBmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对 邮件进行的操作,服务器上的邮件也会做相应的动作。 IMAP和POP3有什么区别?

二、发送邮件

发送邮件时,我们需要构造一个 Message 对象,然后调用 Transport.send(Message) 即可完成发送:绝 大多数邮件服务器要求发送方地址和登录用户名必须一致,否则发送将失败。

package com.ljl.email;
import java.io.IOException;
import java.io.OutputStream;
import java.NIO.file.Files;
import java.nio.file.Paths;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.util.ByteArrayDataSource;
import javax.activation.DataHandler;
import javax.mail.BodyPart;
import javax.mail.Message.RecipientType;
public class Demo03 {
	public static void main(String[] args) {
		try {
			//创建Session会话
			Session session = JavaMailUtils.createSession();
			//创建邮件对象(Message抽象类的子类对象)
			MimeMessage msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress("olaiolaio@126.com"));
			msg.setRecipient(RecipientType.TO ,new InternetAddress("2272789133@qq.com"));
			msg.setSubject("这是一份测试邮件","utf-8");//标题
			//邮件内容复合对象
			Multipart multipart = new MimeMultipart();
			//正文
			BodyPart textPart = new MimeBodyPart();
			//参数一:正文内容
			//参数二:内容类型;字符编码机
			textPart.setContent("输了<b>你</b>赢了世界又如何","text/html;charset=utf-8");
			//附件
			BodyPart imagePart = new MimeBodyPart();
			imagePart.setFileName("lin.jpg");
			imagePart.setDataHandler(new DataHandler(new ByteArrayDataSource(Files.readAllBytes(Paths.get("D:\\k\\image\\ljj.jpg")), "application/octet-stream")));
			//添加至邮件内容
			multipart.addBodyPart(textPart);//添加正文
			multipart.addBodyPart(imagePart);//添加附件
			//设置邮件内容
			msg.setContent(multipart);
			//发送
			Transport.send(msg);
		} catch (MessagingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

三、总结

  • 使用 JavaMail api 发送邮件本质上是一个 MUA 软件通过 SMTP 协议发送邮件 至 MTA 服务器;
  • 打开调试模式可以看到详细的 SMTP 交互信息;
  • 某些邮件服务商需要开启 SMTP ,并需要独立的 SMTP 登录密码。

到此这篇关于Java Email邮件发送简单实现介绍的文章就介绍到这了,更多相关Java Email内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaEmail邮件发送简单实现介绍

本文链接: https://www.lsjlt.com/news/170812.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • JavaEmail邮件发送简单实现介绍
    目录一、邮件协议1.POP32.SMTP3.IMAP4.IMAP和POP3有什么区别二、发送邮件三、总结一、邮件协议 MTA 和 MDA 这样的服务器软件通常是现成的,我们通常不会关...
    99+
    2022-11-13
    Java Email Java 邮件发送
  • JavaMail实现简单邮件发送
    本文实例为大家分享了JavaMail实现简单邮件发送的具体代码,供大家参考,具体内容如下 简单邮件 即纯文本邮件,没有除文字以外的其他所有文件。 传输协议 SMTP协议 全称为 Si...
    99+
    2022-11-13
    JavaMail 邮件发送
  • Java实现简单邮件发送功能
    本文实例为大家分享了Java实现简单邮件发送的具体代码,供大家参考,具体内容如下 需要的jar包: activation-1.1.1.jarmail-1.4.7.jar QQ邮箱设置...
    99+
    2024-04-02
  • java实现简单发送邮件功能
    本文实例为大家分享了java实现简单发送邮件的具体代码,供大家参考,具体内容如下 添加依赖 <!--发送邮件API-->     <!-- https://mvnr...
    99+
    2024-04-02
  • JavaWeb实现简单用户发送邮件
    在实现用户发送邮件之前,我们先对电子邮箱的基本概念做一些了解。 一、电子邮件 1. 邮件服务器 1.要在 Internet 上提供电子邮件功能,必须有专门的电子邮件服务器。 例如:现...
    99+
    2024-04-02
  • 基于JavaMail实现简单邮件发送
    本文实例为大家分享了JavaMail实现简单邮件发送的具体代码,供大家参考,具体内容如下 1.引入依赖 <dependency>     <groupId>o...
    99+
    2022-11-13
    JavaMail 邮件发送
  • Java实现简单的邮件发送功能
    本文实例为大家分享了Java实现简单的邮件发送的具体代码,供大家参考,具体内容如下 要注意只有开启了POP3/SMTP才能收发邮件,首先要开启此功能 ** qq邮箱的开启方式** 设...
    99+
    2024-04-02
  • Java如何实现简单邮件发送功能
    本篇内容介绍了“Java如何实现简单邮件发送功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需要的jar包:activation-1.1....
    99+
    2023-07-02
  • javaweb实现简易邮件发送
    本文实例为大家分享了javaweb实现简易邮件发送的具体代码,供大家参考,具体内容如下 1.邮件发送 2.jar包的支持 activation-1.1.1.jar mail-1.4...
    99+
    2024-04-02
  • restymail的简单发送邮件方法
    目录1.配置MailPlugin插件2.发送普通的文本邮件3.发送html邮件4.发送附件邮件1. 配置MailPlugin插件 public void configPlugin(P...
    99+
    2024-04-02
  • javaweb怎么实现简易邮件发送
    本文小编为大家详细介绍“javaweb怎么实现简易邮件发送”,内容详细,步骤清晰,细节处理妥当,希望这篇“javaweb怎么实现简易邮件发送”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.邮件发送2.jar包的...
    99+
    2023-07-02
  • Python实现邮件发送
    使用smtplib模块发送邮件,它对smtp协议进行了简单的封装。smtp协议的基本命令包括:    HELO 向服务器标识用户身份    MAIL 初始化邮件传输 mail from:    RCPT 标识单个的邮件接收人;常在MAIL命...
    99+
    2023-01-31
    邮件发送 Python
  • Springboot实现发送邮件
    本文实例为大家分享了Springboot实现发送邮件功能的具体代码,供大家参考,具体内容如下 第一章 背景介绍 1.1 使用场景 1、注册验证; 2、网站营销; 3、安全的最后一道防...
    99+
    2024-04-02
  • Javaweb实现邮件发送
    本文实例为大家分享了Javaweb实现邮件发送的具体代码,供大家参考,具体内容如下 发送邮件使用的是SMTP协议:一般是smtp.xxx.com ,比如smtp.qq.com 接收邮...
    99+
    2024-04-02
  • java实现发送邮件
    本文介绍下java实现邮件的发送,意在网站用户评论时能够及时通知站长和用户评论被回复后能够及时通知用户。 下文介绍下具体实现。 java实现 首先引入springboot的邮箱依赖 org.springframework.boot ...
    99+
    2023-08-20
    java spring spring boot
  • tp6实现邮件发送
    tp6实现邮件发送 phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。 phpMailer 的特点: 1、在邮件中包含多个 TO、CC、BCC ...
    99+
    2023-09-15
    服务器 php 运维
  • PHP实现发送邮件功能代码|PHP怎么实现QQ邮件发送|Php发送邮件代码
    最近学习PHP的过程中发现了一个很实用的功能那就是发送QQ邮件,因为这个功能很常用我也是研究了半天找到一个很好的demo感兴趣的可以自己下载学习一下这个Php发送邮件代码真的很实用而且很好用 使用方法: 上传整体压缩包到服务器解压 修改se...
    99+
    2023-09-16
    php 服务器 apache
  • django 实现QQ邮箱发送邮件
    要使用Django来发送QQ邮件,您需要完成以下步骤:1. 在您的Django项目的settings.py文件中,配置邮件发送的相关...
    99+
    2023-09-21
    django
  • JavaMail实现发送邮件(QQ邮箱)
    本文实例为大家分享了JavaMail实现发送邮件的具体代码,供大家参考,具体内容如下 用的qq邮箱,需要去邮箱设置那边开一下stmp服务啥的获得下面要用到的密码,具体开服务自己百度,...
    99+
    2022-11-13
    JavaMail发送邮件 JavaMail发送QQ邮箱 Java发送邮件
  • 使用SpringBoot发送邮箱验证码的简单实现
    目录题外话提前准备2.1 配置邮箱第三方登录2.1.1 点击设置——账户2.1.2 开启POP3/SMTP服务2.2 添加依赖2.3 yaml配置进入主题测试...
    99+
    2023-05-18
    SpringBoot 验证码 SpringBoot 邮箱发送
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作