Java开发的软件项目,有时候业务需要由后台程序给会员发送邮件通知或提醒,那么如何通过java程序来发送邮件呢?下面就来介绍下如何实现这样的功能。
还是直接上代码吧!
需要导入mail.jar包:https://pan.baidu.com/s/1nHjMAPp3pylnCzSVv_ZO8Q
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;
/**
-
java发送邮件测试
*/
public class TestMail {
// 发件人的邮箱地址和密码
public static String sendEmailAccount = “1285727682@qq.com”;
// 如果有授权码,此处填写授权码
public static String sendEmailPassword = “wqnlgscquijzhded”;
// 发件人邮箱的 SMTP 服务器地址, 可以登录web邮箱查询
public static String sendEmailSMTPHost = “smtp.qq.com”;
// 收件人邮箱地址
public static String receiveMailAccount = “1504142219@qq.com”;
public static void main(String[] args) throws Exception {
// 参数配置
Properties props = new Properties();
props.setProperty(“mail.transport.protocol”, “smtp”);
props.setProperty(“mail.smtp.host”, sendEmailSMTPHost);
props.setProperty(“mail.smtp.auth”, “true”);
props.setProperty(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”);
props.setProperty(“mail.smtp.port”, “465”);
props.setProperty(“mail.smtp.socketFactory.port”, “465”);// 根据配置创建会话对象, 用于和邮件服务器交互
Session session = Session.getDefaultInstance(props);
session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log// 创建一封邮件
Message message = createMimeMessage(session, sendEmailAccount, receiveMailAccount);
// 根据 Session 获取邮件传输对象
Transport transport = session.getTransport();// 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则会报错
transport.connect(sendEmailAccount, sendEmailPassword);// 发送邮件
transport.sendMessage(message, message.getAllRecipients());// 关闭连接
transport.close();
}/**
-
创建一封简单邮件
*/
private static Message createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(sendMail));
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail));// 设置邮件标题
message.setSubject(“发送邮件测试”);
// 设置邮件正文
message.setText(“这是测试内容,请忽略此内容详情”);
message.setSentDate(new Date());// 保存设置
message.saveChanges();
return message;
}
-
}
本文转载自:https://jingyan.baidu.com/article/c910274bb41859cd361d2d03.html