一, 简介
为什么会用到多邮箱发送? 在实际应用中,不管是腾讯邮箱,网易邮箱都有上限阈值,即使开通VIP也一样会遇到该问题;
各大邮箱每天发送数量限制:
在项目中, 经常会遇到 550连接频率受限 的错误:
com.sun.mail.smtp.SMTPSendFailedException: 550 Connection frequency limited
二, 解决方法
既然遇到该问题,哪我们总不能不管吧,哪怎么解决该问题呢?
当然最简单的办法就是: 增加发送邮箱数量,轮流执行发送;
想想看,既然一个邮箱遭到限制, 那有10个邮箱轮流发送呢?发件数量将会是之前的10倍; 100个发送邮箱呢....
三, 具体实例
1, 引入Maven Jar包
org.springframework.boot spring-boot-starter-mail
2, 邮件发送接口
package com.richfun.wxappi.utils.email;/** * 多邮箱发送邮件 * */public interface EmailMoreService { /** * 发送文本邮件 * */ boolean sendSimpleMail(String to, String subject, String content); /** * 发送HTML邮件 * */ boolean sendHtmlMail(String to, String subject, String content);}
3, 邮件发送实现
package com.richfun.wxappi.utils.email;import com.richfun.wxappi.mapper.CommonDao;import com.richfun.wxappi.utils.Namespace;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.stereotype.Service;import javax.annotation.PostConstruct;import javax.mail.internet.MimeMessage;import java.util.List;import java.util.Map;import java.util.Properties;@Servicepublic class EmailMoreServiceImpl implements EmailMoreService { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private CommonDao
四, 总结
1, 邮件发送的配置参数都已经放到数据库,需要注意;
2, 如果你不知道有哪些配置参数,请阅读: