码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot发送邮件

时间:2017-04-07 01:08:49      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:模拟   from   rom   nfa   报错   邮件   work   maven依赖   ace   

1.引入maven依赖包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2.配置文件

#JavaMailSender 邮件发送的配置
#spring.mail.host=smtp.qq.com
spring.mail.host=smtp.163.com
spring.mail.username=username@163.com
spring.mail.password=shouquanma
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

不去邮箱配置授权码的话会报错:

javax.mail.AuthenticationFailedException: 550 User has no permission出错
邮箱开启pop3/smtp等协议,然后用授权码代替密码来模拟登陆就可以发送成功了!

3.发送简洁邮件

public class MysteryController {

  @Autowired
  private JavaMailSender javaMailSender;

  @Value("${spring.mail.username}")

  private String username;

// 发送邮件
@RequestMapping("/sendMail")
public Map sendMail() {
    SimpleMailMessage message = new SimpleMailMessage();
    message.setFrom(username);
    message.setTo("xxx@qq.com");
    message.setSubject("标题:测试标题");
    message.setText("测试内容部份");
    javaMailSender.send(message);
    Map result = new HashMap();
    result.put("发送成功", "success");
    return result;
  }
}

4.发送HTML格式的邮件

@RequestMapping("/sendMail")
public
void sendMail() { MimeMessage message = null; try { message = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(username); helper.setTo("xxx@qq.com"); helper.setSubject("标题:发送Html内容"); StringBuffer sb = new StringBuffer(); sb.append("<h1>大标题-h1</h1>") .append("<p style=‘color:#F00‘>红色字</p>") .append("<p style=‘text-align:right‘>右对齐</p>"); helper.setText(sb.toString(), true); } catch (MessagingException e) { e.printStackTrace(); } javaMailSender.send(message); }

这里创建的是MimeMessageHelper,且在调用setText时需要在第二个参数传入true,这样才会使用HTML格式发送邮件

ps:将helper.setFrom(username);修改成helper.setFrom(new InternetAddress(username, "咸鱼", "UTF-8"));这样收件方就可以看到自己的名称。

spring boot发送邮件

标签:模拟   from   rom   nfa   报错   邮件   work   maven依赖   ace   

原文地址:http://www.cnblogs.com/cosyer/p/6676023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!