I get an error upon sending email in a Spring Boot 3 application.
org.springframework.mail.MailSendException: Failed messages: java.lang.RuntimeException: Provider for jakarta.activation.spi.MailcapRegistryProvider cannot be found
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:491)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:361)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:356)
We are using JavaMailSender to send the email.
I wave the below dependency already.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
Here's my code:
private final JavaMailSender mailSender;
private void sendEmail () {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message, false, StandardCharsets.UTF_8.name());
messageHelper.setTo("testemail@test.com");
messageHelper.setSubject("test subject");
messageHelper.setText("sample html email content", true);
mailSender.send(message);
}
you can use <dependency> <groupId>org.eclipse.angus</groupId> <artifactId>jakarta.mail</artifactId> </dependency>
this implementation of mail API
@Service public class MailServiceImpl implements Mail Service {
private final JavaMailSender javaMailSender;
private static final Logger log = LoggerFactory.getLogger(MailServiceImpl.class);
@Autowired
public MailServiceImpl (JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
@Override
public void send (String receiver, String sender, String message, String filenameAndLocation) {
MimeMessagePreparator preparator = new MimeMessagePreparator() {
@Override
public void prepare (MimeMessage mimeMessage) throws Exception {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
messageHelper.setTo(receiver);
messageHelper.setFrom(sender);
messageHelper.setSubject("test subject");
messageHelper.setText(message);
}
};
this.javaMailSender.send(preparator);
}
}
Write your service class same like this hope it will help you
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.