JavaMailSender
是 Spring Framework 中用于发送电子邮件的一个接口,通常与 Spring Boot
配合使用。以下是使用 JavaMailSender
发送电子邮件的基本步骤:
如果你使用 Spring Boot,可以在 pom.xml
中添加 spring-boot-starter-mail
依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
如果使用 Maven 不是 Spring Boot,请手动添加 JavaMail 的依赖:
<dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency>
在 application.properties
或 application.yml
中配置邮件服务器信息,例如使用 Gmail SMTP:
spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=your-email@gmail.com spring.mail.password=your-email-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true
创建一个服务类来使用 JavaMailSender
发送邮件:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Service public class EmailService { @Autowired private JavaMailSender mailSender; public void sendSimpleEmail(String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); mailSender.send(message); } }
你可以在任何需要发送邮件的地方注入并使用 EmailService
:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class EmailController { @Autowired private EmailService emailService; @PostMapping("/send-email") public String sendEmail(@RequestParam String to, @RequestParam String subject, @RequestParam String body) { emailService.sendSimpleEmail(to, subject, body); return "Email sent successfully"; } }
确保你的邮件服务器配置正确且可以正常访问,然后运行你的 Spring Boot 应用。你可以通过发送 POST 请求到 /send-email
接口来测试邮件发送功能。
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。