Spring||Mails
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring||Mails相关的知识,希望对你有一定的参考价值。
JMail可以解决Java发送邮件,通过Jmail的核心javax.mail.jar实现,通过Jmail发送邮件需要经过以下步骤
1.创建解析邮件内容:Message类,通过javax.mail.internet.MimeMessage来构造复杂的信息
2.使用Transpot类发送邮件,实现了SMTP的SMTPSTranspot,
3.接收邮件,通过store类来接收邮件,他的实例对象代表了某个接收协议的邮件对象
public class Mail{ public void send(){ //利用Properties封装对象信息并提供服务器信息 Properties prop = System.getProperties();
//主机名 prop.put("mail.smtp.host",mailServer);
//是否身份验证 prop.put("mail.smtp.auth","true"); //创建验证器 EmailAuthenticator mailauth = new RmailAuthenticator(username,password); //获取Session对象 SessionmailSession= Session.getInstance(prop,(Authenticator)mailauth); //封装Message 对象 try{ Message message = new MimeMessage(mailSession); //设置发件人 message.setFrom(new InternetAddress(from)); //设置收件人,分为TO(主送地址)CC(抄送地址)BCC(秘密抄送) message.setRecipent(Message.RecipientType.TO,new InternetAddress(to)); //设置主题 message.setSubject(mailSubject); //设置内容,声明utf-8编码格式防止乱码 message.setContent(mailContent,"text/html;charset=utf-8"); //设置日期 message.setSentDate(new Date()); //创建Transpot实例 Transpot tran = mailSession.getTranspot("smtp"); //发送 tran.send(message,message.geetAllRecipients()); //close tran.close(); }catch(Exception ex){ ex.printStackTrace(); } } }
Spring Mail
在Spring环境下需要在org.springframework.mail包里使用MailMessage和MailSender
MailMessage接口的方法
void setFrom(String from) : 设置发送地址
void setTo(String to): 设置一个主送地址,如果设置多个地址,利用setTo(String[]to)
void setReplyTo(String replyTo) :设置回复地址
void setCc(String cc):设置抄送地址
MailSender接口主要方法
void Send(SimpleMailMessage simpleMessage) 发送简单信息邮件
void send(SimpleMailMessage[] simpleMessage) 一次性发送邮件
JavaMailSender
MimeMessage createMimeMessage() 为Sender相关的JavaMail Session创建一个MimeMessage对象
MimeMessage createMimeMessage(InputStream content) 使用给定的输入流作为信息来源,为Sender相关的JavaMail Session
void send(MimeMessage mimeMessage) 发送MIME邮件
以上是关于Spring||Mails的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
Spring boot:thymeleaf 没有正确渲染片段
What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段