java实现向用户发送邮件

本文介绍了一个使用Java实现的邮件发送实用类Mailsend,该类通过SMTP协议发送HTML格式的邮件,包括设置发信人、收信人、邮件标题及内容等功能。

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

package com.gd.utils;

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

public Mailsend() {
}

/**
* @param seting_stmp 发信人邮箱服务器如:smtp.163.com
* @param user 发信人邮箱帐号
* @param password 发信人邮箱密码
* @param mail_from 发信人地址
* @param mail_to 收信人地址
* @param title EMAIL标题
* @param content EMAIL内容
* @return
*/
public static int send(String seting_stmp, String user, String password,
String mail_from, String mail_to, String title, String content) {
int i = 0;
try {

Properties props = new Properties();
Session sendsession;
Transport transport;

// 向属性中写入SMTP服务器的地址
props.put("mail.smtp.host", seting_stmp);

// 设置SMTP服务器需要权限认证
props.put("mail.smtp.auth", "true");

// 设置输出调试信息
// PopupAuthenticator auth = new PopupAuthenticator();

sendsession = Session.getInstance(props, null);
sendsession.setDebug(true);

// 根据Session生成Message对象
Message message = new MimeMessage(sendsession);

// 设置发信人地址
message.setFrom(new InternetAddress(mail_from));

// 设置收信人地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(mail_to));

// 设置E-mail标题
message.setSubject(title);

// 设置E-mail发送时间
// message.setSentDate(new Date());

// 发送html格式的邮件
// 新建一个存放信件内容的BodyPart对象
BodyPart mdp = new MimeBodyPart();

// 给BodyPart对象设置内容和格式/编码方式
mdp.setContent(content, "text/html;charset=utf-8");

Multipart mm = new MimeMultipart();
// 新建一个MimeMultipart对象用来存放BodyPart对
// (事实上可以存放多个)
mm.addBodyPart(mdp);
// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)

message.setContent(mm);

// 保存对于E-mail的修改
message.saveChanges();
// 根据Session生成Transport对象
transport = sendsession.getTransport("smtp");
// 连接到SMTP服务器
transport.connect(seting_stmp, mail_from, password);
// 发送E-mail
transport.sendMessage(message, message.getAllRecipients());
// 关闭Transport连接
transport.close();
} catch (Exception e) {
i = 1;
// TODO 自动生成 catch 块
e.printStackTrace();
}
return i;
}

// public static void main(String[] args) {
/*
* Mailsend mail = new Mailsend(); int i = mail.send("smtp.163.com",
* "1987727c", "1987727", "1987727c@163.com", "564439763@qq.com", "hello",
* "我爱你,我的家,我的天堂!"); System.out.println(i);
*/
// }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值