java实现发邮件逻辑_Java实现邮件发送

该博客展示了如何使用Java的javax.mail包通过SMTP服务发送邮件。内容包括设置邮件服务器、开启SMTP服务、验证用户、设置邮件内容和样式,以及发送和关闭连接的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,你的发件人邮箱需要开启SMTP服务

package cn.manmanda.api.util;

import java.util.Date;

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 MailUtil {

// 发件人邮箱

private static final String FROMMAIL = "xx@163.com";

// 用户名

private static final String USER = "xx@163.com";

// 密码

private static final String PASSWORD = "xx";

// 邮件服务器

private static final String SMTPADDR = "smtp.163.com";

public static void sendEmail(String mailTitle, String mailContent,

String toMail) throws Exception {

Properties props = new Properties(); // 可以加载一个配置文件

// 使用smtp:简单邮件传输协议

props.put("mail.smtp.host", SMTPADDR);// 存储发送邮件服务器的信息

props.put("mail.smtp.auth", "true");// 同时通过验证

props.put("mail.smtp.ssl.enable", "true");

Session session = Session.getInstance(props);// 根据属性新建一个邮件会话

session.setDebug(true); // 有他会打印一些调试信息。

MimeMessage message = new MimeMessage(session);// 由邮件会话新建一个消息对象

message.setFrom(new InternetAddress(FROMMAIL));// 设置发件人的地址

message.setRecipient(Message.RecipientType.TO, new InternetAddress(

toMail));// 设置收件人,并设置其接收类型为TO

message.setSubject(mailTitle);// 设置标题

// 设置信件内容

// message.setText(mailContent); //发送 纯文本 邮件 todo

message.setContent(mailContent, "text/html;charset=gbk"); // 发送HTML邮件,内容样式比较丰富

message.setSentDate(new Date());// 设置发信时间

message.saveChanges();// 存储邮件信息

// 发送邮件

Transport transport = session.getTransport("smtp");

// Transport transport = session.getTransport();

transport.connect(USER, PASSWORD);

transport.sendMessage(message, message.getAllRecipients());// 发送邮件,其中第二个参数是所有已设好的收件人地址

transport.close();

}

// 测试

public static void main(String[] args) {

try {

MailUtil.sendEmail("测试邮件", "测试邮件-内容", "xx@foxmail.com");

} catch (Exception e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值