Spring JavaMailSender发送邮件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z28126308/article/details/61417915

个人选择的发送服务服务器是QQ,所以要进行开启QQ邮箱的SMTP服务,过程如图所示:

在账户下设置开启SMTP服务,需记住显示的STMP密码,点击“开启”后发短信过去即可开启

EmailSendTest:
import org.junit.Test;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;

import java.util.Properties;

public class MailSendTest {
    	@Test
   	public void springEmailSender() throws IOException {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        //服务器SMTP域,可百度自行搜索对应域
        mailSender.setHost("smtp.qq.com");
        mailSender.setDefaultEncoding("UTF-8");
        //发送方服务邮箱
        mailSender.setUsername("你的账号@qq.com");
        //发送方SMTP密码(并非你的QQ密码)
        mailSender.setPassword("16位的SMTP密码");
        Properties props = new Properties();
        //加载根目录下的mail.properties文件
        props.load(ClassLoader.getSystemResourceAsStream("mail.properties"));
        //设置email会话
        mailSender.setSession(Session.getInstance(props));

        //新建邮件
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        //收件人邮箱
        mailMessage.setTo("接收方邮箱@163.com");
        //邮件标题
        mailMessage.setSubject("测试邮件");
        //邮件发送方邮箱,若与username值相同将抛出from与username不符的异常
        mailMessage.setFrom("发送方邮箱@qq.com");
        //邮件内容
        mailMessage.setText("a test email");

        //进行邮件发送
        mailSender.send(mailMessage);
    }
}


 根目录下的资源文件mail.properties: 
  

#若不设置将抛出iis security异常
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.port=465


个人成功测试图如下:




猜你喜欢

转载自blog.csdn.net/z28126308/article/details/61417915