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对象(代码片段

Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]