SpringBoot实现发送邮件、发送微信公众号推送
SpringBoot实现发送邮件、发送微信公众号推送
SpringBoot实现发送邮件
JavaMailSender是Spring封装的邮件发送封装类,支持普通文本、附件、html等格式。
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
application.yml
代码实现
带附件的格式发送邮件需要借助JavaMailSender对象的createMimeMessage()方法创建的实例MimeMessage作为发送对象,而设置邮件参数通过MimeMessageHelper对象完成。 我们创建EmailUtil工具类,在其中定义sendMail方法进行邮件发送,EmailUtil完整代码如下:
@Component public class EmailUtil { @Value("${spring.mail.username}") private String from; @Resource private JavaMailSender javaMailSender; public boolean sendMail(String email, String subject, String text) { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); try { MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); // 设置发件人 mimeMessageHelper.setFrom(from); // 设置收件人 mimeMessageHelper.setTo(email); // 设置邮件主题 mimeMessageHelper.setSubject(subject); // 设置发送的文本信息 mimeMessageHelper.setText(text); javaMailSender.send(mimeMessage); return true; } catch (MessagingException e) { e.printStackTrace(); return false; } } }
这里对成员变量JavaMailSender使用了@Resource注解。@Resource注解和@Autowired注解类似,都用来声明需要自动装配的bean,区别在于@Autowired是类型驱动的注入,而@Resource是名称驱动的注入,所以前者存在多bean问题,而后者,只要保证bean命名唯一就不会出现多bean的问题。
pom.xml
<dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>3.3.0</version> </dependency>
代码实现
各个配置项例如appId和secret等都需要在application.yml中配置,然后用@Value注解将我们配置文件的属性读出来,我这里是偷懒了
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
微信小程序 背景图片设置