第一步:准备mail.jar包
第二步:开启发件人邮箱的smtp服务并生成授权码
163的邮箱需要自己手动授权码,qq邮箱则是自动生成
第三步:上代码
package com.ambow.test;
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 SendMail {
public static void main(String[] args) throws Exception {
//1. 登陆邮件客户端(创建会话session)
Properties prop = new Properties();
prop.setProperty("mail.transport.protocol", "smtp");
//创建了session会话
Session session = Session.getDefaultInstance(prop);
//设置debug模式来调试发送信息
session.setDebug(true);
//创建一封邮件对象
Message message = new MimeMessage(session);
//写信
message.setSubject("欢迎访问我的CSDN博客主页!");
//正文内容
message.setContent("我不是一个可以把诗篇朗诵得使每一个人掉泪的人但我能够用我的话感动我周围的蓝色墙壁我走上舞台的时候,听众是黑色的鸟,翅膀就垫在打开了的红皮笔记本和手帕上这我每天早晨都看见了谢谢大家谢谢大家冬天仍然爱一个诗人"
+ ",么么哒~ 点我呀:http://localhost:8080/PullHook/IndexAction_Show", "text/html;charset=utf-8");
//附件人地址
message.setFrom(new InternetAddress("18047256285@163.com"));
Transport transport = session.getTransport();
//链接邮件服务器的认证信息
transport.connect("smtp.163.com", "18047256285", "填入授权码");
// 设置收件人地址,并发送邮件
transport.sendMessage(message, new InternetAddress[]{new InternetAddress("826404198@qq.com")});//收件人地址
transport.close();
}
}
在收件人邮箱中需要将发件人设置为白名单用户,才不会被反垃圾机制拦截掉