QQ邮箱通过Java编程发送邮件
QQ邮箱官方获取授权码地址教程:
https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
登录PC---》进入设置---》切换账户---》
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 即可
mail--JAR
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.5</version>
</dependency>
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmailTest {
public static void main(String[] args) {
try {
//创建Properties 类用于记录邮箱的一些属性
final Properties props = new Properties();
//表示SMTP发送邮件,必须进行身份验证
props.put("mail.smtp.auth", "true");
//此处填写SMTP服务器
props.put("mail.smtp.host", "smtp.qq.com");
//端口号,
props.put("mail.smtp.port", "587");
//此处填写账号
props.put("mail.user", "xxxxxxx@qq.com");
//此处的密码就是16位STMP口令
props.put("mail.password", "xxxxxxxxxxx");
//构建授权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// 用户名、密码
String userName = props.getProperty("mail.user");
String password = props.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
};
//使用环境属性和授权信息,创建邮件会话
Session mailSession = Session.getInstance(props, authenticator);
//创建邮件消息
MimeMessage message = new MimeMessage(mailSession);
//设置发件人
InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
message.setFrom(form);
//设置收件人的邮箱
InternetAddress to = new InternetAddress("xxxxxxxxxxxx@xxxxx.com");
message.setRecipient(RecipientType.TO, to);
//设置邮件标题
message.setSubject("测试邮件");
String msg = "轻轻走过,悄悄看过,无意瞥一眼惊鸿的颜色,随着巷口的老猫湮没在无声中,爱这巷,爱这楼阁,爱这轻缓的脚步,落在石板上的踢踏,喜欢看你的身影随我远去,目光牵着你的笑,飞洒的柳絮勾勒你的轮廓,在茫茫烟波中,你留下残红染了梅花,在渺渺云雾中。";
//编写内容
StringBuilder sb = new StringBuilder();
sb.append(msg);
//设置邮件的内容体
message.setContent(sb.toString(), "text/html;charset=UTF-8");
//最后当然就是发送邮件啦
Transport.send(message);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}