版权声明:转载请注明出处! https://blog.csdn.net/oliverchu/article/details/51582113
本文中使用 JavaMail 可以在 java.net 下载到。本文以 1.5.5版本为例:
在Itellij Idea 中通过 File->Project Structure
添加下载好的包
以QQ邮箱的发送为例
Properties pro = new Properties();
pro.put("mail.stmp.host","stmp.qq.com"); //qq邮箱的STMP邮件服务器
pro.put("mail.stmp.port","587"); //通过ssl安全协议端口
pro.put("mail.stmp.auth","true"); //打开验证
创建认证器 Authenticator
在重载方法中重写getPasswordAuthentication()
方法,传入字符串形式的用户名(一般是你的发件邮箱)username
和密码password
Authenticator authenticator = new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password);
}
};
创建邮件会话 Session
Session session = Session.getDefaultInstance(pro,authenticator);
创建MIME形式的消息对象MimeMessage
什么是 MIME
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setFrom("[email protected]"); //发件邮箱地址
mimeMessage.setRecipients(Message.RecipientType.TO,"[email protected]");//收件人邮箱地址
mimeMessage.setSubject("Hello Mail!"); //设置邮件主题
mimeMessage.setSendDate(new Date()); //设置发送时间,此处为当前时间
完成了这些,接下来就是创建邮件的内容了,我们需要通过 MimeMessage
的 setContent(Multipart part);
方法来传入一个Multipart
对象
Multipart multipart = new Multipart();
BodyPart bodyPart = new BodyPart();
bodyPart.setContent("<h1>I am content!</h1>","text/html;charset=utf-8"); //设置BodyPart内容及格式
multipart.addBodyPart(bodyPart);
接下来设置MimeMessage
的内容
mimeMessage.setContent(multipart);
到这里基本上邮件创建就完成了,接下来就是发送了
Transport.send(mimeMessage);
相关API JavaMail API