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
spring.mail.username=xxx@qq.com
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("xxx@qq.com");
message.setTo("xxx@qq.com");
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("xxx@qq.com");
helper.setTo("xxx@qq.com");
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("xxx@qq.com");
helper.setTo("xxx@qq.com");
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("xxx@qq.com");
// helper.setTo("xxx@qq.com");
// 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();
}
}