利用前端form表单的上传文件来发送邮箱附件

前端代码

<body>
<form action="http://localhost:8080/email/form" method="post" enctype="multipart/form-data">
    收件人:<input type="text" name="to" value="收件人邮箱"> <br>
    标题:<input type="text" name="subject" value="测试"> <br>
    内容:<input type="text" name="content" value="图片"> <br>
    附件: <input type="file" name="file"> <br>
    <input type="submit" value="发送">
</form>
</body>

后端代码

@PostMapping("form")
    public String demo00(@RequestPart Part file, String to, String subject, String content) throws MessagingException, IOException {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(message, true, "UTF-8");
        mimeMessageHelper.setFrom("发件人邮箱");
        mimeMessageHelper.setTo(to);
        mimeMessageHelper.setSubject(subject);
        mimeMessageHelper.setText(content);
         //获取文件名
        String title = file.getSubmittedFileName();
         //以下几行是重点
        InputStream inputStream = file.getInputStream();
        byte[] bytes = new byte[inputStream.available()];
        inputStream.read(bytes);
        ByteArrayResource byteArrayResource = new ByteArrayResource(bytes);
        mimeMessageHelper.addAttachment(title, byteArrayResource);
        javaMailSender.send(message);
        return "success";
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot使用form表单发送电子邮件,需要使用JavaMailSender类。JavaMailSender是Spring Boot的核心类之一,用于发送电子邮件。以下是一个简单的示例,可以将其用作参考: 1. 添加依赖 在pom.xml文件添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 2. 配置邮件信息 在application.properties文件添加以下属性配置: ``` spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=your-email-address spring.mail.password=your-email-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true ``` 3. 创建电子邮件服务类 创建一个名为EmailService的类,其包含发送电子邮件的方法: ``` @Service public class EmailService { @Autowired private JavaMailSender emailSender; public void sendEmail(String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); emailSender.send(message); } } ``` 4. 创建控制器类 创建一个名为EmailController的类,其包含处理表单提交的方法: ``` @Controller public class EmailController { @Autowired private EmailService emailService; @PostMapping("/sendEmail") public String sendEmail(@RequestParam("to") String to, @RequestParam("subject") String subject, @RequestParam("text") String text) { emailService.sendEmail(to, subject, text); return "redirect:/success"; } } ``` 5. 创建HTML表单 创建一个名为email-form.html的HTML文件,其包含用于发送电子邮件的表单: ``` <form method="post" action="/sendEmail"> <label for="to">To:</label> <input type="email" id="to" name="to" required><br><br> <label for="subject">Subject:</label> <input type="text" id="subject" name="subject" required><br><br> <label for="text">Text:</label> <textarea id="text" name="text" required></textarea><br><br> <input type="submit" value="Send"> </form> ``` 这样就可以使用Spring Boot和JavaMailSender类来发送电子邮件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值