目录
补充知识
一、发送简单邮件
maven
配置
代码
二、发送多部件邮件
代码
补充知识
我们一般用程序发邮件,很少用程序收邮件
一、发送简单邮件
maven
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
配置
spring:mail:# 使用SMTP发送邮件 我们使用的是QQ邮箱host: # 账号 写上自己的qq号username: 11*******@# 此处要去邮箱获取(不要复制这个)password: eivalefaehrkiaaa
代码
@Servicepublic class SendMailServiceImpl implements SendMailService {// springboot已经整合完毕,直接自动装配@Autowiredprivate JavaMailSender javaMailSender;// 发送者private String from = "114******@";// 接收者private String to="182******@";// 标题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);}}
二、发送多部件邮件
在我们使用的时候,并不会像上面一样仅仅是发送一个很简单的文字内容,可能会有图片,附件等等等等,下面我们就要来实现一下。
配置不改变
代码
@Servicepublic class SendMailServiceImpl implements SendMailService {// springboot已经整合完毕,直接自动装配@Autowiredprivate JavaMailSender javaMailSender;// 发送者private String from = "11*******@";// 接收者private String to="18*********@";// 标题private String subject="测试邮件";// 正文private String context="<img src='/it/u=700675537,3936578503&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1656522000&t=54182c0a2d3f1d8d22d9c24e8556a12e' />" +"<a href='/' >点我有惊喜</a>" ;@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();}}}