Java简单发送邮箱
1.首先要去qq邮箱 设置–账户–把所有服务都开启 (记住其中任意一个授权码就OK了)
如下图:
2. 导入jar包 创建测试类 (复制即可)
如下:
package testEmail;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
public class test {
/**
* 发送邮件的方法
*
* @param to :收件人
* @param code :激活码
*/
static Authenticator auth = new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
//参数一:发送邮箱的QQ号 就比如是你发给xxx就写你的qq号
//参数二:就是刚刚在qq邮箱复制的授权码
return new PasswordAuthentication("237328154@qq.com", "ocxojafuyhdqbhaa");
}
};
public static void sendMail(String to,int code,String name) {
// TODO Auto-generated method stub
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.auth", "true");
//参数二:发送邮箱的QQ号 就比如是你发给xxx就写你的qq号
props.put("mail.from", "237328154@qq.com");
Session session = Session.getInstance(props, auth);
MimeMessage msg = new MimeMessage(session);
try {
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO, to);
//设置标题
msg.setSubject("北京租房网官方激活邮件");
//设置时间 --当前时间
msg.setSentDate(new java.util.Date());
//设置内容
msg.setText("<html><body><h1>Email地址验证 账户激活<br>尊敬的:"+name+"<br>"+
" 这封信是由通过北京租房网发送的。<br>" +
" 如果您是通过北京租房网的新用户,我们需要对您的地址有效性进行验证以避免垃圾邮件或地址被滥用。<br>" +
" 您只需点击下面的链接即可激活您的帐号:<br>" +
code+
" (如果上面不是链接形式,请将该地址手工粘贴到浏览器地址栏再访问)<br>" +
" 感谢您的访问,祝您使用愉快!<br>" +
" </html>", "utf-8", "html");
//发送
Transport.send(msg);
System.out.println("发送完成");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
/*参数1 -- 接收者的qq邮箱
参数2 -- 验证码 可以生成随机数
参数3 -- 对方用户名
以上参数可以自定义 修改上面主函数的参数就可以了
*/
sendMail("237328154@qq.com",1234,"xxx");
}
}
jar包可以去网上找 (mail.jar)
如果没有的话下面有我整理的jar包和测试类的网盘链接
百度网盘下载地址
最后运行结果如下