100个Java工具类之15:免费发送邮件

createh53周前 (12-15)技术教程21

该系列为java工具类系列,主要展示100个常用的java工具类。

本系列工具类的核心目的主要有三点:

1,以便他用:提供可用的Java工具类,方便大家使用,避免重复造轮子

2,个人记录:作为个人记录,同时督促自己学习总结

3,为初学者提供思路,相互交流,共同进步

当然,很多细节部分经不起推敲,如存在部分代码不规范、注释不详细、格式不统一等问题,还望阅读者多多包涵,多提意见。

本文主要讲述:如何使用java免费发送邮件

一、发送邮件

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

//smtp.qq.com smtp.163.com  smtp.aliyun.com
private static final String EMAIL_OWNER_ADDR_HOST = "smtp.qq.com"; 

	//发送人邮箱
	private static final String EMAIL_OWNER_ADDR = "123@qq.com";

	//发送人邮箱授权码 QQ邮箱-设置-设置生成16位授权码
	private static final String EMAIL_OWNER_ADDR_PASS = "lvbaqegmtijchwad";

	public static void sendMail(String title, String email, String content) throws Exception {

		Properties prop = new Properties();
		prop.put("mail.host", EMAIL_OWNER_ADDR_HOST);
		prop.put("mail.transport.protocol", "smtp");
		prop.put("mail.smtp.auth", "true");

		prop.setProperty("mail.smtp.ssl.enable", "true");

		//发送邮件五步走
		//1.创建sesssion
		Session session = Session.getInstance(prop);

		//2.通过session获取Transport对象(发送邮件的核心API)
		//开启session的调试模式,可以查看当前邮件发送状态 session.setDebug(true);
		Transport ts = session.getTransport();

		//3.发送人邮件用户名和授权码
		ts.connect(EMAIL_OWNER_ADDR, EMAIL_OWNER_ADDR_PASS);

		//4.创建邮件
		MimeMessage mm = new MimeMessage(session);

		//设置发件人
		mm.setFrom(new InternetAddress(EMAIL_OWNER_ADDR));

		//设置收件人
		mm.setRecipient(Message.RecipientType.TO, new InternetAddress(email));

		//设置抄送人 mm.setRecipient(Message.RecipientType.CC, new InternetAddress("@qq.com"));
		//设置标题
		mm.setSubject(title);

		//mm.setContent("您的注册验证码为:<b style=\"color:blue;\">123456</b>", "text/html;charset=utf-8");
		mm.setContent(content, "text/html;charset=utf-8");

		//5.发送电子邮件
		ts.sendMessage(mm, mm.getAllRecipients());
	}

	public static void main(String[] args) throws Exception {
		//sendMail("恭喜您中了1000万", "123@qq.com", "您的注册验证码为:<b style=\"color:blue;\">123456</b>");
		sendMail("恭喜您中了1000万", "123@qq.com", "恭喜您中了1000万!!!!!!!");
	}

以上便是使用java发送邮件的全部代码,本人亲测可用

需要注意的是:发送邮箱需要开启smtp服务,QQ邮箱登录邮箱在设置里手动设置

其他邮箱可以自行百度设置,方法非常简单。

感谢您的阅读!

相关文章

手把手教你用 Java 发送邮件,不用框架

邮件发送也是一个老生常谈的问题了,代码虽然简单,但是许多小伙伴对过程不太理解,所以还是打算和各位小伙伴聊聊这个话题。邮件协议我们经常会听到各种各样的邮件协议,比如 SMTP、POP3、IMAP ,那么...

JavaMail的使用

1 JavaMail的使用1..1 用JavaMail组件发送邮件JavaMail组件: Sun公司专门用于发送邮件的工具。javax.mail.* 核心包javax.activation.* 辅助包...

实战!SpringBoot整合Vue3完美实现发送邮件的功能!

1.效果演示2.思维导图3.前言本篇文章主要讲解 Springboot 整合 Vue3 实现校验 qq 邮箱验证码之后重置用户密码的功能。开发功能之前我们先梳理一下主要逻辑:1.我们要想让系统给其他用...

Java之数组数据操作之电子邮件地址判断

java源代码:/***<p>Title:数组数据操作之电子邮件地址判断</p>*<p>Description:演示一维数组和多维数组的初始化和基本操作</p...

Spring Boot集成Spring Email发送邮件

引言在当今数字化时代,电子邮件仍然是重要的沟通工具之一。在使用Spring Boot框架开发应用程序时,有时需要集成邮件发送功能,以便在用户注册、找回密码、接收通知等场景中向用户发送邮件。本文将介绍如...

使用这个jar包,不到10分钟便可接入短信及邮件发送功能!

最近在给我的AI工具(https://ai.quanyouhulian.com/)新增个**短信及邮箱登录功能,按传统方式,一般是在后端引入各短信服务商SDK-jar包,以及短信邮件的maven包(j...