gpt4 book ai didi

java - 在 Spring Boot 中发送带附件的电子邮件

转载 作者:行者123 更新时间:2023-11-30 02:00:38 25 4
gpt4 key购买 nike

我正在尝试在 Spring Boot 中发送包含文件附件的电子邮件。

这是基本的 gmail SMTP 服务器应用程序属性配置:

这是我的电子邮件服务:

EmailService

当我调用此方法并传递 mailMessageDto 对象时,没有抛出异常。什么也没发生,电子邮件也没有发送。

我已经对 javaMailSender.send(messsage) 代码行进行了调试,一切似乎都很好。

更新

spring.mail.properties.mail.smtp.ssl.enable=false

应该是 false 不是 true spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

最佳答案

第1步.在porm.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=465
spring.mail.username=username
spring.mail.password=password
spring.mail.protocol=smtps
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.writetimeout=5000
spring.mail.properties.mail.smtp.starttls.enable=true

第3步.在 Controller 中添加代码masterconroller.java

@GetMapping("/sendmail")
@ResponseBody
String home() {
try {
masterServiceImpl.sendEmail("path");
return "Email Sent!";
} catch (Exception ex) {
return "Error in sending email: " + ex;
}
}

第4步.在MasterServiceImpl.java中添加代码

@Autowired
private JavaMailSender javaMailSender;
public void sendEmail(String path) throws Exception{
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo("xyz@gmail.com");
helper.setText("<html><body><h1>hello Welcome!</h1><body></html>", true);
FileSystemResource file = new FileSystemResource(new File(path));
helper.addAttachment("testfile", file);
helper.addAttachment("test.png", new ClassPathResource("test.jpeg"));
helper.setSubject("Hi");
javaMailSender.send(message);
}

关于java - 在 Spring Boot 中发送带附件的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52971072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com