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);
*/
// }
}
java实现向用户发送邮件
最新推荐文章于 2024-04-18 05:40:59 发布
本文介绍了一个使用Java实现的邮件发送实用类Mailsend,该类通过SMTP协议发送HTML格式的邮件,包括设置发信人、收信人、邮件标题及内容等功能。

721

被折叠的 条评论
为什么被折叠?



