Spring email
时间: 2023-10-26 15:09:42 浏览: 37
Spring Framework中提供了一个邮件发送的API:JavaMailSender。使用该API可以方便地发送邮件。
首先,需要在Spring配置文件中配置JavaMailSender:
```
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="your.smtp.server.host" />
<property name="port" value="your.smtp.server.port" />
<property name="username" value="your.username" />
<property name="password" value="your.password" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.ssl.trust">your.smtp.server.host</prop>
</props>
</property>
</bean>
```
接下来,可以使用JavaMailSender发送邮件:
```
@Autowired
private JavaMailSender mailSender;
public void sendEmail() {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo("recipient@example.com");
message.setSubject("Test Email");
message.setText("This is a test email");
mailSender.send(message);
}
```
可以使用MimeMessage替代SimpleMailMessage来发送包含附件和HTML内容的邮件:
```
@Autowired
private JavaMailSender mailSender;
public void sendEmailWithAttachment() throws MessagingException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo("recipient@example.com");
helper.setSubject("Test Email With Attachment");
helper.setText("<html><body><h1>This is a test email with attachment</h1></body></html>", true);
helper.addAttachment("attachment.txt", new ClassPathResource("attachment.txt"));
mailSender.send(message);
}
```
以上代码示例中,需要将“your.smtp.server.host”、“your.smtp.server.port”、“your.username”和“your.password”替换为实际的SMTP服务器信息和发件人的用户名和密码。