JAVA代码实现发送邮件(使用mail.jar)

【JAVA】【入门向】| 使用Java发送邮箱【javax.mail】 【java】【入门向】在写一些项目时(比如涉及到账号需要找回),我们不可避免需要用上邮件,就跟随我学习使用java自动发送邮件吧。(使用javax.mail) 阅读详情

前言

今天跟大家分享一篇,发送电子邮件的博文
使用了java+jsp+servlet
源码可在下方链接下载
链接:https://pan.baidu.com/s/1YF2mvR0fhy95kcv83ER_hw?pwd=z5b1.
提取码:z5b1

实现功能以下!!
1、 J2EE前台发送邮件
2、Java代码后台实现发送邮件

J2EE前台发送邮件

我们以结果为导向
运行截图
请添加图片描述

在这里插入图片描述
手机接收到的邮件

在这里插入图片描述

在这里插入图片描述

代码实现

1.新建Dynamic Web Project工程

2.引入mail.jar和activation.jar

3.项目目录结构如图

在这里插入图片描述
4.配置发件人163邮箱的SMTP服务器、账户以及密码等参数
在这里插入图片描述
mail.properties配置文件
在这里插入图片描述
编写身份身份验证类
用来验证SMTP服务器身份。程序继承了Authenticator类,它主要用来实现登录邮件服务器时的认证。它包含两个属性:username和password,分别用来存储认证时所需的用户名和密码信息。

package com.liuchunming.mail;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class Auth extends Authenticator {

	private String username = "";
	private String password = "";

	public Auth(String username, String password) {
		this.username = username;
		this.password = password;
	}
	public PasswordAuthentication getPasswordAuthentication() {
		return new PasswordAuthentication(username, password);
	} 
}

发送邮件类
SendMail实现对发送邮件身份的认证,获得Session对象。该方法中SMTPHost、Port、MailUsername、MailPassword分别表示所使用的SMTP服务器、服务器的smtp端口、用户名和密码。sendingMimeMail()方法为发送邮件的方法,在该方法需要传入的参数中,MailFrom为发件人电子信箱,MailTo为收件人电子信箱,MailCopyTo为抄送人电子信箱,MailBCopyTo为暗送人电子信箱,MailSubject为发送邮件主题,MailBody为发送邮件正文。sendingMimeMail()返回boolean类型,表示是否发送成功。发送邮件时先调用构造方法SendMail()创建邮件发送对象,然后调用sendingMimeMail()方法发送。

package com.liuchunming.mail;

import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {

	private Properties props; //系统属性
	private Session mailSession; //邮件会话对象
	private MimeMessage mimeMsg; //MIME邮件对象

	public SendMail(String SMTPHost, String Port, String MailUsername, String MailPassword) {
		Auth au = new Auth(MailUsername, MailPassword);
		//设置系统属性
		props=java.lang.System.getProperties(); //获得系统属性对象
		props.put("mail.smtp.host", SMTPHost); //设置SMTP主机
		props.put("mail.smtp.port", Port); //设置服务端口号
		props.put("mail.smtp.auth", "true"); //同时通过验证
		//获得邮件会话对象 
		mailSession = Session.getInstance(props, au);
	}
  
	public boolean sendingMimeMail(String MailFrom, String MailTo,
			String MailCopyTo, String MailBCopyTo, String MailSubject,
			String MailBody) {
		try { 
			//创建MIME邮件对象
			mimeMsg=new MimeMessage(mailSession);
			//设置发信人
			mimeMsg.setFrom(new InternetAddress(MailFrom));
			//设置收信人
			if(MailTo!=null){
				mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(MailTo));
			} 
			//设置抄送人
			if(MailCopyTo!=null){
				mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,InternetAddress.parse(MailCopyTo));
			}
			//设置暗送人
			if(MailBCopyTo!=null){
				mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,InternetAddress.parse(MailBCopyTo));
			}
			//设置邮件主题 
			mimeMsg.setSubject(MailSubject,"gb2312");
			//设置邮件内容,将邮件body部分转化为HTML格式
			mimeMsg.setContent(MailBody,"text/html;charset=gb2312");
			//发送邮件
			Transport.send(mimeMsg);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}
}

写SendDemo类进行测试

package com.liuchunming.demo;

import com.zhi.mail.SendMail;

public class SendDemo {

	/**
	 * 可直接运行主方法
	 * @param args
	 */
	public static void main(String[] args) {
		String SMTPHost="smtp.163.com";
		String Port="25";
		String MailUsername=""; //发送邮件账号
		String MailPassword=""; //密码
		SendMail sendMail=new SendMail(SMTPHost,Port,MailUsername,MailPassword);
		
		String MailFrom=""; //发件人
		String MailTo=""; //收件人
		String MailCopyTo=null; //抄送人
		String MailBCopyTo=null; //暗送人
		String MailSubject="JavaSE发送邮件测试"; //邮件主题
		String MailBody="引用mail.jar和activation.jar实现邮件发送!"; //邮件内容
		
		//发送邮件
		boolean isSend=sendMail.sendingMimeMail(MailFrom, MailTo, MailCopyTo, MailBCopyTo, MailSubject, MailBody);
		if(isSend){
			System.out.println("邮件发送成功");
		}else{
			System.out.println("邮件发送失败");
		}
	}

}

运行main主方法发送邮件
在这里插入图片描述
在这里插入图片描述

下载并加载JavaMail API

JavaMail API目前的版本为JavaMail API 1.4.3。可以从如下地址下载:
http://java.sun.com/products/javamail/downloads/index.html
下载后,建立jarFile文件夹,贴入mail.jar和activation.jar文件并且Add to Build Path
在这里插入图片描述
在这里插入图片描述
end…

mail.jar、commons-email-1.2.jar 、activation.jar下载 Jmeter+ant测试报告发送邮件 立即下载

相关推荐

mail.jar包

Spring 发送邮件必须的jar包之一 进行解析时,缺失mail.jar 也会报错

java使用mail.jar发送邮件

如何使用java自带的功能发送邮件? 由于个人使用的工具是 IntelliJ IDEA和QQ邮箱 所有下面的内容就围绕这两个工具来进行介绍。。 1.首先 你要在你的项目里面导入如下两个jar包。 然后 打开IDEA新建一个项目 此时发现,刚才导入的并无法向其他文件夹一样展开,这表明了没有对这个包添加项目依赖关系, 这个地方只选择文件夹就可以了 不需要选中jar文件 按照以上步骤 做完之后,...

向一名合格的码农努力的博客 6153

libfacedetection 框架阅读及扩展经验

libfacedetection 框架源码解析与扩展心得1. libfacedetection 框架简介2. 源码解析2.1 facedetectcnn.h2.2 facedetectcnn.cpp2.3 facedetectcnn-model.cpp3. 其他层的扩展--depthwise convolution 前段时间因为工作需要,对libfacedetection框架做了些扩展,在阅读源...

weixin_42616332的博客 1500

Java使用mail.jar发送邮件

Java实现邮件发送 首先需要下载一个mail.jar包 (Oracle官网、百度搜索mail.jar、官网下载) https://www.oracle.com/technetwork/java/index-138643.html 对我们用户而言,发送邮件需要3步: 登录 写邮件 发邮件 然而对于程序来说,它不需要登录的。登录就要自己控制网页,就像selenium那种自动化测试工具一样,模拟用户的一系列点击操作。那就把程序搞复杂了。 在代码执行层面考虑,当然是越简单越高效最好。 程序想要发送邮件,不需要

发光吖的博客 3267

解决在封装自定义IP时加入ila,或者其他ip核时出错的情况

在查阅很多资料后,明白了这个应该是软件bug,但是最终还是解决了问题 我们只需要删除

weixin_42553916的博客 3604

DID实战指南:从平行趋势检验到PSM-DID的Stata全流程解析

本文详细解析了双重差分法(DID)在政策评估中的应用,从平行趋势检验到PSM-DID的Stata全流程操作。通过实例演示和代码示例,帮助研究者掌握DID方法的核心逻辑、前提条件验证及稳健性检验技巧,提升因果推断研究的准确性。

weixin_29234239的博客 741

使用java.mail.jar实现代码发送邮件及一些坑解决

最近有个需求,需要给用户邮箱发送登录失败产生的错误信息,使用java.mail实现的; 注:项目首先需要java.mail的jar包,最新根据我这个博客中找到https://download.csdn.net/download/zfr_xuexiao66/11722810; 本项目用的是JavaMail 1.6.2,下面直接上代码说明; public class EmailUtils { ...

zfr_xuexiao66的博客 2669

机械臂速成小指南(七):从旋转矩阵到齐次变换——机械臂位姿的数学表达

本文详细介绍了机械臂位姿描述的数学基础,包括旋转矩阵、欧拉角和齐次变换等核心概念。通过解析旋转矩阵的几何意义和合成方法,以及欧拉角的直观描述,帮助读者理解机械臂位姿的数学表达。文章还探讨了齐次变换在工程实践中的应用,并提供了数值稳定性、坐标系约定和计算效率等实用建议。

cuda7parallel的博客 835

使用javaxMail发送邮件

使用javax mail发送邮件,首先将jar包添加进来,2019年了,应该都会用maven来构建项目吧 在项目的pom文件中加入javax.mail的依赖 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> &lt...

Min_Monk的博客 1万+

从入门到精通:3D视觉与SLAM实战全流程 mastery 教程

本文系统介绍了3D视觉与SLAM技术的应用前景、核心技术和实战路径。3D视觉通过RGB-D相机、激光雷达等传感器获取环境三维信息,SLAM技术实现自主定位与地图构建,二者结合广泛应用于自动驾驶、机器人导航等领域。文章详细拆解了点云处理、视觉里程计、回环检测等关键技术,并提供了ORB-SLAM2算法复现、语义SLAM开发的实战教程,涵盖硬件选型、环境配置到代码实现全流程。最后规划了从入门到专家的学习路径,推荐了相关书籍、开源项目和数据集资源,为读者掌握这一前沿技术提供了完整指南。

m0_71589036的博客 135

提升JVM性能:CMS垃圾回收器的优化分析与案例研究

本文介绍了CMS(Concurrent Mark-Sweep)垃圾回收器的工作原理、优缺点及常见问题,并通过具体案例分析了其优化策略。重点探讨了CMS的各个阶段,包括标记、并发清理和重标记,分析了可能导致性能瓶颈的因素如停顿时间过长和内存碎片化。文章还分享了调整垃圾回收参数、结合其他垃圾回收器以及内存优化等方法,帮助提高CMS的回收效率和性能。最后,文章展望了随着JVM发展,结合新一代垃圾回收器优化的趋势,助力Java应用在高并发环境下的性能提升。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 175万+

Java 使用 mail.jar 实现邮件发送

使用到的 jar 包 mail.jar:https://repo1.maven.org/maven2/javax/mail/mail/1.4.7/mail-1.4.7.jar activation.jar:https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar maven 地址: <!-- https://mvnrepository.com/artifact/javax.mail/mai

weixin_44953227的博客 4万+

20、啁啾脉冲光纤放大器:原理、设计与仿真

本文详细介绍了啁啾脉冲光纤放大器(FCPA)的原理、设计与仿真过程。内容涵盖CPA技术的基本原理、光纤基CPA系统的组成、Tm掺杂光纤放大器的工作机制、全光纤脉冲展宽器的设计以及仿真分析。通过MATLAB仿真展示了脉冲在光纤中的展宽与放大过程,并讨论了如何优化系统以减少非线性失真、控制峰值功率并提高整体性能。文章还总结了系统优化的关键策略,并展望了未来的发展方向。

v4w5x6的博客 318

Java实现发送邮件

第一步: 进入QQ邮箱->账号设置:开启POP3和IMAP服务,开启之后会给你一个授权码,这个要记下来。 第二步: 导包,导入mail.jar包。 下载连接:https://javaee.github.io/javamail/#Download_JavaMail_Release 下载这个javax.mail.jar。下载完成之后导入项目。 第三步: 敲代码 ...

dai_ma_dong的博客 698

(考研湖科大教书匠计算机网络)第四章网络层-第三节3、4:划分子网的IPv4地址和无分类IP地址

子网掩码: 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号子网掩码使用连续的比特1来对应网络号和子网号子网掩码使用连续的比特0来对应主机号将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址如下图。

快乐江湖的博客 1347

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java实现邮件发送功能工具类

使用mail-user.jar, mail.jar实现java发送邮件的功能。 发送TEXT方式和发送Html方式。 Java代码 package com.***.***.core.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.

上海男孩博客 288

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

javax.mail发送邮件(带附件)

javax.mail发送邮件(带附件) 最近公司开发项目,需要有一个发送带附件的邮件的功能,因此上网查找资料后实现了该功能,在这里将整个开发过程与大家分享,大家共同进步,有不足之处,请多多指教。 一.配置QQ邮箱: 需要对作为发件人的QQ邮箱进行相关配置,这样才能够保证使用的邮箱能够...

chengnounang4197的博客 1527

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java实现发送qq邮件_java实现QQ邮件发送

##1.首先导入mail.jar和activation.jar包下载点这里*将两个包放到你的JDK下的*\jre\lib\ext*放入后,如果导入不了javax.mail包的,在IDEA中进行如下操作*File–>Project Structure–>SDKs中,重新选择JDK的安装路径,然后应用就可以了。##2.其次,要打开QQ邮箱的SMTP(简单邮件传输协议),打开QQ邮箱,在设置...

weixin_34050162的博客 794

Java实现自动发送电子邮件 发送邮件验证码(附全部源码)

Java实现自动发送电子邮件和发送邮件验证码(学生项目) 前言:java初学者在做一些小项目时,登录注册想实现身份验证功能,比如验证码进行身份验证。但是苦于条件有限无法发送手机短信验证码,你可以试试这个——发送电子邮箱信息验证身份信息。 (一)演示效果: 效果如下: 图片内容仅供参考,实际效果以自己写的代码为准。 将得到的验证码输入到自己的项目上。 (二)方法步骤 第一步我们先登录一个电子邮箱(我以QQ邮箱为例,其他邮箱如163邮箱方法相同) ①在主页面的左上角有个设置按钮 进入设置 ②在设置下

baolan2的博客 5526

邮件发送

邮件发送 邮箱服务器的基本概念 邮件的客户端: 可以只安装在电脑上的也可以是网页形式的邮件服务器: 起到邮件的接受与推送的作用 邮件发送的协议: 协议:就是数据传输的约束 接受邮件的协议:POP3 IMAP 发送邮件的协议:SMTP 邮件发送过程 邮件发送代码 邮件客户端软件:FoxMail Java中需要导入的jar包:----mail.jar Java中需要使用到的工具类-----Ma...

Zldz33的博客 680

java发送邮件

所需要的jar包: mail.jar import java.security.GeneralSecurityException; import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; import javax.mail.internet.MimeMessage.RecipientType;...

luxin120的博客 195

java发邮件有附件代码_java发送带附件的邮件的代码

参考上面三个例子,写的一段用java发送带正文和附件的邮件的代码。需要mail.jar这个包。import java.util.Properties;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.ma...

weixin_29008055的博客 208

手把手教你实现Java发送邮件(1)-发送简单的文本

说明:本博客已经收藏至我的gitee中的code_demo仓库(点击此链接跳转)中,且gitee中有相应的代码~ 欢迎访问~~ 不仅仅是code,还有一些通俗的讲解哦~ 文章目录一、Java实现邮件发送二、Java发送邮件Java实现纯文本邮件发送 一、Java实现邮件发送 一、邮件服务器与传输协议 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是 smtp.

qq_33820545的博客 824

MailUtil java邮件发送工具类

MailUtil.java 需要导包:mail.jar import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Message.RecipientType; import javax.mail.MessagingException;...

mqy224512的博客 527

JAVA之邮件发送

使用java代码发送邮件 需要的jar 包: mail.jar 代码: public void sendMess(String title) { //1.创建信息配置对象,并配置相应信息 Properties props = new Properties(); //属性mail.debug是确定是否是开发模式,true为是,...

spurs611的博客 733
上一篇: 简单SAP项目开发之导航栏左侧菜单(模拟后台ajax请求)mock.js的使用
下一篇: 简单SAP项目开发树形菜单+分页
licmi
博客等级 码龄7年 31粉丝 116原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值