项目描述
上传时间
浏览人数
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
spring.mail.host=smtp.163.com
# 默认端口25,可不写
spring.mail.port=25
# 编码格式
spring.mail.default-encoding=utf-8
# 发送者用户名
spring.mail.username=xxx@163.com
# 授权码,刚才获取的代码
spring.mail.password=xxx
其中,spring.mail.host是163邮箱服务器地址,spring.mail.username是刚刚开启POP3/SMTP服务的邮箱,spring.mail.password是刚刚开启POP3/SMTP服务得到的密钥!
当我们进行好 properties 配置后,SpringBoot会帮助我们自动配置 JavaMailSender
,然后我们调用JavaMailSender
接口就实现操作发送邮件了。实现类中代码如下:
@Service
public class MailServiceImpl implements MailService {
@Value("${spring.mail.username}")
private String SENDER ;
@Autowired
private JavaMailSender mailSender;
/** * 发送普通邮件 * * @param to 收件人 * @param subject 主题(标题) * @param content 内容 */
@Override
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(SENDER);
message.setTo(to);
message.setSubject(subject);
message.setText(content);
try {
mailSender.send(message);
} catch (Exception e) {
System.out.println("发送普通邮件时发生异常!" + e);
}
}
/**
* 发送带附件的邮件
*
* @param to 收件人
* @param subject 主题
* @param content 内容
* @param fileList 附件
*/
@Override
public void sendFileMail(String to, String subject, String content, List<File> fileList) {
MimeMessage message = mailSender.createMimeMessage();
try {
//true表示需要创建一个multipart message
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(SENDER);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
if (fileList != null && fileList.size() > 0) {
for (File file : fileList) {
FileSystemResource fileSystemResource = new FileSystemResource(file);
String fileName = fileSystemResource.getFilename();
helper.addAttachment(fileName, fileSystemResource);
}
}
mailSender.send(message);
} catch (MessagingException e) {
System.out.println("发送带附件的邮件时发生异常!" + e);
}
}