前言:使用java发送邮件,首先要引入相关类,主要是封装邮件SMTP协议的一些工具
我用的是Gradle 所以把下面这句话粘贴到 工程下/build.gradle的dependencies{
// https://mvnrepository.com/artifact/com.sun.mail/javax.mail compile group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'
}
至于怎么找这些这些jar包工具,推荐大家上https://mvnrepository.com/网站,基本涵盖所有的三方库的远程仓库。
废话不多说
直接上代码,亲测有效
1.发送方QQ邮箱
(1)进入QQ邮箱,选择设置-->账户,找到 开启服务:POP3/SMTP服务
QQ会要求你发送XX短信到指定号码,发送成功后,QQ会返回一个授权码
,用于第三方登录使用,一定要记住,再次登录,他就不显示了。
(2)准备工作做好,直接发代码,直接可用,这是带附件的发送邮件,不带附件MulityPart去了就行
/**
* 发送带附件的邮件
*
* @param receive 收件人
* @param subject 邮件主题
* @param msg 邮件内容
* @param filename 附件地址
* @return boolean
*/
public static boolean sendQQMail(String receive, String subject, String msg, String filename) {
if (StringUtils.isEmpty(receive)) {
return false;
}
// 发件人电子邮箱
final String from = "XXX@qq.com";
// 发件人电子邮箱授权码
final String pass = "XXX";
// 指定发送邮件的主机为 smtp.qq.com
String host = "smtp.qq.com"; // 邮件服务器
// 获取系统属性
Properties properties = System.getProperties();
// 设置邮件服务器
properties.setProperty("mail.smtp.host", host);
properties.put("mail.transport.protocol", "smtp");// 连接协议
properties.put("mail.smtp.host", host);