import com.nflg.mobilebroken.cfs.CfsApplication; import com.nflg.mobilebroken.common.pojo.dto.EmailConfig; import com.nflg.mobilebroken.starter.service.EmailService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import javax.annotation.Resource; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; @SpringBootTest @ContextConfiguration(classes = CfsApplication.class) public class EmailTest { @Resource EmailService emailService; @Test public void test0() throws MessagingException { emailService.sendEmail("rakor2010@gmail.com", "您正在申请修改密码", "这是邮件内容"); } @Test public void test1() throws MessagingException { EmailConfig emailConfig = new EmailConfig() .setHost("smtp.exmail.qq.com") .setPort(465) .setUsername("cfsnflg@nflg.com") .setPassword("Cf250117"); Properties properties = new Properties(); properties.put("mail.smtp.host", emailConfig.getHost()); properties.put("mail.smtp.port", emailConfig.getPort().toString()); properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.ssl.enable", "true"); //properties.setProperty("mail.smtp.starttls.enable", "true"); // 设置超时时间(单位:毫秒) properties.put("mail.smtp.connectiontimeout", "5000"); // 连接超时 properties.put("mail.smtp.timeout", "5000"); // 读取超时 properties.put("mail.smtp.writetimeout", "5000"); // 写入超时 Session session = Session.getInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(emailConfig.getUsername(), emailConfig.getPassword()); } }); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(emailConfig.getUsername())); message.addRecipient(Message.RecipientType.TO, new InternetAddress("rakor2010@gmail.com")); message.setSubject("您正在申请修改密码"); // message.setText("这是邮件内容"); message.setContent("这是邮件内容", "text/html; charset=UTF-8"); Transport.send(message); } }