作者:淡然的可欣 | 来源:互联网 | 2023-09-24 04:53
目录
补充知识
一、发送简单邮件
maven
配置
代码
二、发送多部件邮件
代码
补充知识
我们一般用程序发邮件,很少用程序收邮件
一、发送简单邮件
maven
org.springframework.bootspring-boot-starter-mail
配置
spring:mail:
# 使用SMTP发送邮件 我们使用的是QQ邮箱host: smtp.qq.com
# 账号 写上自己的qq号username: 11*******@qq.com
# 此处要去邮箱获取(不要复制这个)password: eivalefaehrkiaaa
代码
@Service
public class SendMailServiceImpl implements SendMailService {// springboot已经整合完毕,直接自动装配@Autowiredprivate JavaMailSender javaMailSender;// 发送者private String from = "114******@qq.com";
// 接收者private String to="182******@qq.com";
// 标题private String subject="测试邮件";
// 正文private String cOntext="你好啊,你收到我的内容了嘛";@Overridepublic void sendMail() {SimpleMailMessage message = new SimpleMailMessage();
// 发送者 ( 和下面一样,我们在发送者的宋勉加了一个名字,所以接收者收到的时候,就会显示这个名字,而不会显示我们发送者的邮箱号了)message.setFrom(from+"(超级无敌的大帅哥)");
// 接收者message.setTo(to);
// 标题message.setSubject(subject);
// 正文message.setText(context);// 发送javaMailSender.send(message);}
}
二、发送多部件邮件
在我们使用的时候,并不会像上面一样仅仅是发送一个很简单的文字内容,可能会有图片,附件等等等等,下面我们就要来实现一下。
配置不改变
代码
@Service
public class SendMailServiceImpl implements SendMailService {// springboot已经整合完毕,直接自动装配@Autowiredprivate JavaMailSender javaMailSender;// 发送者private String from = "11*******@qq.com";
// 接收者private String to="18*********@qq.com";
// 标题private String subject="测试邮件";
// 正文private String cOntext="" +"点我有惊喜" ;@Overridepublic void sendMail() {try {MimeMessage message = javaMailSender.createMimeMessage();
// 第二个参数true代表可以添加附件 不写的话默认falseMimeMessageHelper helper = new MimeMessageHelper(message,true);// 发送者 ( 和下面一样,我们在发送者的宋勉加了一个名字,所以接收者收到的时候,就会显示这个名字,而不会显示我们发送者的邮箱号了)helper.setFrom(from);
// 接收者helper.setTo(to);
// 标题helper.setSubject(subject);
// 正文 true 表示正文中的各种html语言要实现,不加true默认false,不管写什么html语言,都当做纯String处理helper.setText(context,true);// 添加附件File file = new File("E:\\zzz.docx");
// 第一个参数:发送过去的附件名字 第二个参数,发送的文件helper.addAttachment(file.getName(),file);// 发送javaMailSender.send(message);} catch (MessagingException e) {e.printStackTrace();}}
}