Java Mail的使用

版权声明:转载请注明出处! 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()); //设置发送时间,此处为当前时间

完成了这些,接下来就是创建邮件的内容了,我们需要通过 MimeMessagesetContent(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

猜你喜欢

转载自blog.csdn.net/oliverchu/article/details/51582113
今日推荐