喂你吃辣堡 2022-02-10 18:42 采纳率: 0%
浏览 26

Springbootmail多线程发送邮件

问题遇到的现象和发生背景

线程中执行mailService.sendSimpleMail(mail)就导致线程中断,且下面的System.out.println("发送邮件")无法输出,注释掉sendSimpleMail线程就可以正常发送多封邮件

问题相关代码

@Component
public class ConsumeMailQueue {

@Autowired
MailService mailService;

class PollMail implements Runnable {
    MailService mailService;

    public PollMail(MailService mailService) {
        this.mailService = mailService;
    }

    @Override
    public void run() {
        while (true) {
            try {
                System.out.println("####################");
                Email mail = MailQueue.getMailQueue().consume();
                if (mail != null) {
                    //可以设置延时 以及重复校验等等操作
                    try {
                        System.out.println("剩余邮件总数:" + MailQueue.getMailQueue().getSize());
                        System.out.println("email:" + mail.getEmail());
                        System.out.println("subject:" + mail.getSubject());
                        System.out.println("content:" + mail.getContent());
                        mailService.sendSimpleMail(mail);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    System.out.println("发送邮件");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

@PostConstruct
public void startThread() {
    ExecutorService e = Executors.newFixedThreadPool(1);// 两个大小的固定线程池
    e.submit(new PollMail(mailService));
    //e.submit(new PollMail(mailService));
}

@PreDestroy
public void stopThread() {
    System.out.println("destroy");
}

}

运行结果及报错内容

未注释sendSimpleMail

img

我想要达到的结果

注释掉sendSimpleMail

img

  • 写回答

1条回答 默认 最新

  • Tomshidi 2022-02-10 18:53
    关注

    问题明显是这句的问题了,检查看账号密码是否正确,请求是否超时

    
    mailService.sendSimpleMail(mail)
    
    评论

报告相同问题?

问题事件

  • 创建了问题 2月10日

悬赏问题

  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 火车票关联12306问题
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算