1.简要:(说的不对的地方欢迎指出)
我们公司系统采用的网易发邮件的方式,所以如果要发送邮件,需要每个人将下面这两种服务进行开启,记录授权码!!!非常重要,下面进行代码演示
2. 第三方系统配置了客户端,统一发送到网易的服务器端进行处理
- 配置信息
1.导入pom文件
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.mail</artifactId>
<version>3.0-b47</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.xml.bind/activation -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>activation</artifactId>
<version>1.0.2</version>
</dependency>
2.创建pojo类封装参数
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SendEmailVo {
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
/**
* 收件人
*/
private String to;
/**
* 发件人
*/
private String send;
}
表信息
3.省略controller层代码,编写service代码
//根据发件人查询对应数据,这个可以忽略是我写的逻辑
UserMailboxConfig mailboxConfig = userMailboxConfigMapper.sendEmail(sendEmailVo.getSend());
//创建一个JavaMailSenderImpl对象
JavaMailSenderImpl jms = new JavaMailSenderImpl();
//服务器名
jms.setHost(mailboxConfig.getSmtp());
//网易账号
jms.setUsername(mailboxConfig.getFromAccount());
//网易授权码,我开头说过啦
jms.setPassword(mailboxConfig.getAuthorizationCode());
//设置编码防止乱码
jms.setDefaultEncoding("utf-8");
Properties p = new Properties();
p.setProperty("mail.smtp.auth", "true");
jms.setJavaMailProperties(p);
//1.创建一个邮箱对象
MimeMessage mimeMessage = jms.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
//收件人
String[] split = sendEmailVo.getTo().split(",");
messageHelper.setTo(split);
//标题
messageHelper.setSubject(sendEmailVo.getTitle());
//内容
messageHelper.setText(sendEmailVo.getContent(), true);
//发件人
messageHelper.setFrom(sendEmailVo.getSend());
jms.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
发送邮件功能就完毕了赶快试试吧哈哈哈如果有问题欢迎指出