使用spring的JavaMailSender发送邮件
说明
底层依赖 javamail 实现
pom.xml 依赖项
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
spring.xml Spring配置文件
<bean class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.126.com" />
<property name="username" value="from-username" />
<property name="password" value="mima" />
</bean>
示例代码(可以添加附件)
package com.lyx.mooc.service.impl;
import com.lyx.mooc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.internet.MimeMessage;
import java.io.File;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private JavaMailSender mailSender;
// 企业邮件通常有固定的header或footer如果要生成这些内容那么有两种推荐的方式
// 方式一:用Freemarker或Velocity模板引擎来生成邮件的正文内容
// 方式二:用建造模式来建造邮件的header、body和footer
@Override
public boolean register() {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
helper.setFrom("from@126.com");
helper.setTo("to@126.com");
helper.setSubject("注册激活码");
helper.setText("hello,world");
// helper.addAttachment("gay.jpg", new File("gay.jpg"));
mailSender.send(mimeMessage);
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}