现在项目上要用到用户忘记密码之后给用户发送初始密码功能,所以使用到了javamail功能。顺便自己写一个小例子来实现邮件的发送
先导入jar包,如果是maven项目的话,在pom.xml中配置jmail的jar包依赖。
大概代码结构如下:
private static void send(String from, String to, String subject,
String content,String user,String password,String host) throws MessagingException, AddressException {
Properties props = new Properties();
// SMTP服务器地址
props.setProperty("mail.smtp.host", host);
// 指定SMTP服务器是否需要验证
props.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
// 创建邮件信息对象
Message message = new MimeMessage(session);
// 发件人
message.setFrom(new InternetAddress(from));
//收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
//邮件主题
message.setSubject(subject);
//编码方式
message.setContent(content,"text/html;charset=utf-8");
//邮件发送日期
message.setSentDate(new Date());
message.saveChanges();
Transport transport=session.getTransport("smtp");
transport.connect(host,user, password);
//发送邮件
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}