本文作者:可乐可乐可,作者个人主页:可乐可乐可的个人主页
因为经费问题不得不使用限流降级队列
亲儿子(学校自研的新系统)在进行细致的需求分析时,竟然有经费问题,导致我们使用的邮箱可能挂掉或者被限流,第n次因为经费问题流下泪水233。
不过这也是自己的契机,当初用这个小轮子入了面试官的法眼(感谢面试官给机会,蟹蟹蟹蟹,需要字节跳动内推的可以私聊我哦)
(想亲自体验被QQ邮箱封号吗,不会很严重,停一会儿就恢复了,下面是Spring Boot 的一个测试类,可以用他体验一下被封的感觉)
import org.junit.jupiter.api.Test;
import org.kelab.aide.AideApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.concurrent.CountDownLatch;
/**
* @author JirathLiu
* @date 2021/1/24
* @description:
*/
@SpringBootTest(classes = AideApplication.class)
public class SpringMailTest {
@Autowired
JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
String from;
@Test
void contextLoads() {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(from);
simpleMailMessage.setTo("你自己的QQ号@qq.com");
simpleMailMessage.setSubject("Test");
simpleMailMessage.setText("<h1>Test Head?</h1>");
javaMailSender.send(simpleMailMessage);
}
String html = "<table style=\"width: 99.8%; \"><tbody><tr><td id=\"QQMAILSTATIONERY\" style=\"background:url(https://rescdn.qqmail.com/zh_CN/htmledition/images/xinzhi/bg/a_07.jpg) repeat-x #e4ebf5; min-height:550px; padding: 100px 55px 200px;\">test<br></td></tr></tbody></table>";
@Test
void sendOneHtml(){
MimeMessage message = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo("你自己的QQ号@qq.com");
helper.setText(html,true);
helper.setSubject("Test");
javaMailSender.send(helper.getMimeMessage());
} catch (MessagingException e) {
e.printStackTrace();
}finally {
System.out.println("Finish");
}
}
private CountDownLatch countDownLatch = new CountDownLatch(500);
@Test
void sendBigNumberOfHtml() {
for (int i = 0; i < 100; i++) {
new Thread(()->{
MimeMessage message = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo("你自己的QQ号@qq.com");
helper.setText("<h1>Test Head?</h1>");
helper.setSubject("Test");
javaMailSender.send(helper