Spring邮件发送流程:
第一步:邮件发送,需要一个邮件服务器。可以使用腾讯获得网易的邮件服务器。
登录邮箱,点击左上角的设置,再点击账号
找到下列选项,点击开启,需要发短信验证,或者使用QQ安全登录扫面二维码验证登录
验证成功后开启,会得到一串密码,记好密码
第二步:导入包
javamail包的下载路径:https://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR
其余的包如下图
第三步:配置邮件发送类
找到邮件发送的实现类
点击下图的红色提示部分可以找到配置的指定发送邮件服务器的地址和指定发送邮件服务器的端口
具体配置如下:
<context:component-scan base-package="cn.gzsxt"></context:component-scan>
<!-- 配置邮件发送信息 -->
<bean name="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- 设置发送的信息 -->
<property name="host" value="smtp.qq.com"></property> <!-- 指定发送邮件服务器的地址 -->
<!--指定发送邮件服务器的端口,不设置就是默认的端口 -->
<!-- <property name="port" value=""></property> -->
<property name="username" value="118255****@qq.com"></property> <!-- 用户名 -->
<property name="password" value="akewkteqqvoq****"></property> <!-- 密码 -->
<property name="defaultEncoding" value="UTF-8"></property> <!-- 邮件的编码格式 -->
<!-- 认证方式 -->
<!-- 指定发送的邮箱服务器是需求认证的 -->
<property name="javaMailProperties">
<value>
mail.smtp.auth=true
</value>
</property>
</bean>
第三步:编写代码
@Service
public class MailService {
@Autowired
private JavaMailSender javaMailSender;
public void send() {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo("zhuyuejiu@163.com");// 发送给谁
message.setText("Hello World");// 发送的信息
message.setSubject("MyWorld");// 发送的标题
message.setFrom("zhuyuejiu2008@qq.com");// 发送人是谁,可以不设置
message.setSentDate(new Date());// 发送时间
javaMailSender.send(message);
}
}
第四步:编写测试代码
public class ApplicationContextTest {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
MailService mailService = context.getBean(MailService.class);
mailService.send();
context.close();
}
}