jar
compile('org.springframework.boot:spring-boot-starter-mail') compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-starter-velocity:1.7')
yml
spring.mail.host=smtp.qq.com [email protected] spring.mail.password=xxx //注意 qq邮箱的话 必须开启POP3/SMTP服务 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true
springboot集成了 JavaMailSender
Service层
import java.io.File; import java.util.Map; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; /** * * @author hemingzhu * @version 2018-6-1 * */ @Service public class SenderServicec { @Autowired private JavaMailSender mailSender; //普通邮箱 public void sendSimpleMail() throws Exception { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("[email protected]"); message.setTo("[email protected]"); message.setSubject("主题:我的springboot代码给你发的邮箱"); message.setText("儿童节快乐宝宝"); mailSender.send(message); } //附件邮箱 public void sendSimpleMailFuJian() throws Exception { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setFrom("[email protected]"); helper.setTo("[email protected]"); helper.setSubject("主题:有附件"); helper.setText("有附件的邮件"); FileSystemResource file = new FileSystemResource(new File("D:\\2.png")); helper.addAttachment("附件-1.jpg", file); helper.addAttachment("附件-2.jpg", file); mailSender.send(mimeMessage); } //静态邮箱 public void sendInlineMail() throws MessagingException { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setFrom("[email protected]"); helper.setTo("[email protected]"); helper.setSubject("主题:蓝胖子"); helper.setText("<html><body><img src=\"cid:weixin\" ></body></html>", true); FileSystemResource file = new FileSystemResource(new File("D:\\3.jpg")); helper.addInline("weixin", file); mailSender.send(mimeMessage); } // public void sendTemplateMail() { // // MimeMessage mimeMessage = mailSender.createMimeMessage(); // // MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); // helper.setFrom("[email protected]"); // helper.setTo("[email protected]"); // helper.setSubject("主题:模板邮件"); // // Map<String, Object> model = new HashedMap(); // model.put("username", "didi"); // String text = VelocityEngineUtils.mergeTemplateIntoString( // velocityEngine, "template.vm", "UTF-8", model); // helper.setText(text, true); // // mailSender.send(mimeMessage); // // } // }
2.Controller
import javax.mail.MessagingException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.example.email.sender.service.SenderServicec; @RestController public class SenderController { @Autowired private SenderServicec service; @GetMapping("/send/email") //一般的邮箱发送 public void sendMail() throws Exception { service.sendSimpleMail(); } @GetMapping("/send/fujian") //一般的邮箱发送 public void sendFuJian() throws Exception { service.sendSimpleMailFuJian(); } @GetMapping("/send/static") public void sendInlineMail() throws MessagingException { service.sendInlineMail(); } }