java实现发邮件的工具类,方便 好用(需要架包的Send Email To me)

Java调用Microsoft Graph实现Outlook邮件收发实战 Microsoft Graph作为微软统一的API网关,提供了访问Outlook邮件服务的标准化接口。其核心原理是通过OAuth 2.0授权协议实现安全访问,支持RESTful风格的资源操作。在Java开发中,通过Microsoft Graph SDK可以快速集成邮件收发功能,这对于构建企业OA系统、自动化通知服务等场景具有重要价值。本文以Java调用Graph API为例,详细演示了获取收件箱邮件列表和发送新邮件的完整实现方案,涵盖SDK配置、核心API调用、结果解析等关键技术环节,并提供了生产环境中的性 阅读详情

原文:java实现发邮件的工具类,方便 好用(需要架包的Send Email To me)

源代码下载地址:http://www.zuidaima.com/share/1550463394794496.htm

java实现发邮件的工具类,方便  好用(需要架包的Send Email To me)

package com.zuidaima.util;

import java.util.Properties;

import javax.mail.BodyPart;
import javax.mail.Message;
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;

public class EmailHelper {
	private String host = "smtp.163.com"; // smtp服务器  有好多类型的host
	private static String user = "zuidaima"; // 用户名
	private String pwd = "XXXXXX"; // 密码
	private String from = "zuidaima@qq.com"; // 发件人地址
	private String to = ""; // 收件人地址
	private String subject = "www.zuidaima.com"; // 邮件标题

	public void setAddress(String from, String to, String subject) {
		this.from = from;
		this.to = to;
		this.subject = subject;
	}

	public void send(String txt) {
		Properties props = new Properties();
		// 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
		props.put("mail.smtp.host", host);
		// 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
		props.put("mail.smtp.auth", "true");
		// 用刚刚设置好的props对象构建一个session
		Session session = Session.getDefaultInstance(props);
		// 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
		// 用(你可以在控制台(console)上看到发送邮件的过程)
		session.setDebug(true);
		// 用session为参数定义消息对象
		MimeMessage message = new MimeMessage(session);
		try {
			// 加载发件人地址
			message.setFrom(new InternetAddress(from));
			// 加载收件人地址
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
			// 加载标题
			message.setSubject(subject);
			// 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
			Multipart multipart = new MimeMultipart();

			// 设置邮件的文本内容
			BodyPart contentPart = new MimeBodyPart();
			contentPart.setText(txt);
			multipart.addBodyPart(contentPart);

			// 添加附件
			// BodyPart messageBodyPart = new MimeBodyPart();
			// DataSource source = new FileDataSource(affix);
			// 添加附件的内容
			// messageBodyPart.setDataHandler(new DataHandler(source));
			// 添加附件的标题
			// 这里很重要,通过下面的Base64编码的转换可以保证你的中文附件标题名在发送时不会变成乱码
			// sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
			// messageBodyPart.setFileName("=?GBK?B?"+
			// enc.encode(affixName.getBytes()) + "?=");
			// multipart.addBodyPart(messageBodyPart);

			// 将multipart对象放到message中
			message.setContent(multipart);
			// 保存邮件
			message.saveChanges();
			// 发送邮件
			Transport transport = session.getTransport("smtp");
			// 连接服务器的邮箱
			transport.connect(host, user, pwd);
			// 把邮件发送出去
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		EmailHelper cn = new EmailHelper();
		// 设置发件人地址、收件人地址和邮件标题
		cn.setAddress(user, "123456@qq.com", "源代码");
		cn.send("你收到我发的邮件木有?");
	}
}

 

Spring Boot + Redis 实现邮箱验证码 API:设计原理与防滥用实践 邮箱验证是用户注册、找回密码、更换登录邮箱等流程中的基础能力,其本质是通过发送验证码来确认邮箱所有权与可达性。验证码服务并非简单发信,而是涉及安全随机数生成、临时存储、过期控制、错误次数限制与接口防滥用等多环节设计。以Spring Boot 3.x + Redis + SMTP为例,详细拆解验证码从生成、存储、发送到校验的完整实现,并展示如何用Redis TTL管理生命周期、用Lua脚本保证校验的原子性,避免验证码被重复消费。同时覆盖本地联调与生产环境加固清单,相关设计可平滑迁移至手机验证码等场景,适合需要 阅读详情

相关推荐

SendMail的jar包

这是一个,写java发送邮件的jar包。没有它的支持,发送邮件的小程序无法写。

Java Mail使用案例

import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.int

yanglu_dandan的专栏 647

java实现Mail发送(简单案例)

java实现Mail发送

【工具类】发送邮件表格html生成类

发送邮件html表格的java生成类

zzzgd_666的博客 1065

java发送邮件所需要的包

用java发送邮件时所需要的包。下载后请解压,然后把解压的两个包直接导入项目就可以了

javaMail简单案例

javaMail的使用 项目直接用eclipse导入即可 根据redme文件修改配置 两种方式,主要的不同是端口

Springboot实现发送邮件以及工具类封装(解决自定义发送人昵称的问题)

1、项目总体目录结构(主要看Mailer相关的类 扩展性极强) 2、pom.xml 引入相关依赖 <!-- 发送邮件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&...

小白轩的博客 1万+

Spring框架JavaMailSender发送邮件工具类详解

主要为大家详细介绍了Spring框架JavaMailSender发送邮件工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

实现一个邮件工具类,实现本地邮件发送和邮件接受功能

好的,我们可以使用 Python 的 smtplib 和 imaplib 库来实现邮件发送和接收功能。 首先,我们需要在邮件服务商处获取 SMTP 服务器地址和端口以及帐号密码等信息。然后,我们可以创建一个邮件工具类,在类中定义两个方法,一个用于发送邮件,另一个用于接收邮件。 下面是一个示例代码: import smtplib import imaplibclass EmailTool: ...

weixin_42605397的博客 170

Windows本地化部署Dify完整指南

本文详细介绍了在Windows系统上本地化部署Dify的完整步骤,涵盖了Docker Desktop的安装与配置、Dify源代码的获取、环境变量的设置、服务的启动与管理、以及常见问题的解决方案。文章首先指导用户如何下载和安装Docker Desktop,并配置WSL 2功能。接着,详细说明了如何获取Dify源代码,并通过Docker Compose启动服务。文章还提供了高级配置指南,包括如何配置大语言模型和更新Dify版本。最后,针对Docker镜像拉取失败等常见问题,提供了详细的诊断和解决方案。通过本文,

jacky_zhuyuanlu的博客 1万+

CMAC算法原理

2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;

sky的博客 1658

邮件工具-MailUtil(发送邮件)

邮件工具-MailUtil 概述 在Java中发送邮件主要品依靠javax.mail包,但是由于使用比较繁琐,因此Hutool针对其做了封装。由于依赖第三方包,因此将此工具类归类到extra模块中。 使用 引入依赖 Hutool对所有第三方都是可选依赖,因此在使用MailUtil时需要自行引入第三方依赖。 <dependency> <groupId>j...

qq_38795959的博客 4万+

C语言专升本编程题

湖南省专升本选拔考试,C语言程序设计内部习题

weixin_45729947的博客 2116

java邮件的架包_java实现发邮件的工具类,方便 好用(需要架包的Send Email To me)...

package com.zuidaima.util;import java.util.Properties;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import java...

weixin_42393342的博客 656

AutoDock Vina 对接计算(大批量)

AutoDock Vina是一种用于计算生物分子之间相互作用的计算工具,主要用于蛋白质和小分子(通常是潜在药物分子)之间的对接研究。它可以用于虚拟筛选、药物设计和生物分子结合位点的预测等多个应用领域。

MurphyStar的博客 1万+

双内核架构 Xenomai 4 安装教程

双内核 Xenomai 4 安装指南

^_^ 4467

java邮件发送工具_java实现发邮件的工具类,方便 好用(需要架包的Send Email To me)...

package org.util;import java.util.Properties;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import javax.mail.in...

weixin_39976575的博客 352

华为 MetaERP 通过元数据驱动的多组织架构 + 内部交易协同 + 自动对账引擎 + 合并规则引擎,实现多组织内部往来与合并报表的全流程自动抵消,核心是源头标准化、过程自动化、结果可追溯

摘要: 华为MetaERP通过元数据驱动的多组织架构与主数据标准化,实现内部往来与合并报表全流程自动化。其核心包括:统一组织模型与主数据(确保数据口径一致)、内部交易协同(自动生成对称凭证)、智能对账引擎(多维度自动匹配差异)、合并规则引擎(配置化抵消模板)。依托GaussDB高性能数据库与流批一体架构,华为全球88家子公司合并报表效率提升400%,关账时间缩短至2小时,支持多准则、多币种自动抵消,审计全程可追溯。相比传统ERP,MetaERP在协同性、自动化与扩展性上优势显著,为跨国集团提供高效、准确的合

金牌架构师 264

How can I send an email by Java application?

原文地址:http://stackoverflow.com/questions/46663/how-can-i-send-an-email-by-java-application-using-gmail-yahoo-or-hotmail#47452 ANSWER 1 First download the JavaMail API and make sure the rele

bj_ellen2004的专栏 1801

JS逆向-B站评论数据w_rid参数和wts参数

本文是该专栏的第69篇,后面会持续分享python爬虫干货知识。本文以B站的评论数据为例,通过JS逆向获取其中的w_rid参数以及wts参数生成规律。具体的“逆向”思路逻辑,笔者将会详细介绍每个步骤,并且将在正文结合“完整代码”来详细介绍。废话不多说,具体细节部分以及详细思路逻辑,笔者将在正文结合完整代码进行详细说明。(附带完整代码)

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 2048

优化点列图(RMS半径)的操作数

优化点列图(RMS半径)的操作数

weixin_72050316的博客 2257

java velocity 邮件_send email with velocity and spring 完整示例

packagecom.chenlb.mail;importjava.util.Map;importjavax.mail.MessagingException;importjavax.mail.internet.MimeMessage;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;im...

weixin_30394019的博客 169

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

使用java发送e_mail

如果需要使用java发送e-mail,需要三个库文件 activation.jar、commons-email-1.1.jar 和 mail.jar HtmlEmail email = new HtmlEmail();email.setHostName("mail.fudan.edu.cn");//设置发信的smtp服务器email.addTo(customerEmail, usern

gyq5319920的专栏 1016

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

面向AI构建者的实践手记:Learn to Build Newsletter解析

Newsletter作为一种轻量级技术传播载体,正从信息聚合转向深度工程实践支持。其核心价值在于承载真实构建过程中的故障排查逻辑、工具边界认知与社区协同知识,而非泛泛而谈的概念科普。在AI工程落地场景中,‘构建者’群体亟需可复现、可调试、带上下文的技术记录——如LoRA微调失败时的参数对齐分析、RAG向量空间不匹配的验证代码、pandasai在高基数category列下的沉默失效实测。这类内容天然契合‘Learn to Build’理念:以动手为起点,在卡点处倒逼学习,用最小验证闭环定位根因。它服务于已脱离

chuanggangbo5551的博客 531

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【Android基础】之 Intent & IntentFilters

`Intent` 是一个消息传递对象,可以用来从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,常用的三种场景

Android/Kotlin/Ktor/Compose 470

android调用平台功能

下面的一些例子是从网上找的,他有点像J2ME的platformRequest,能调用手机平台的一些如SMS,浏览器,MMS,TEL等功能 显示网页 Java代码 [code="java"]# Uri uri = Uri.parse("http://google.com"); # Intent it = new Intent(Intent.ACTION_...

guojinglisa的博客 123
上一篇: java汉字转拼音工具类源代码
下一篇: Java按照字节来截取字符串的工具,不会出现半个汉字
springmvc_springdata
博客等级 码龄12年 197粉丝 389原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值