基于Spring的智能邮箱推送广告系统
最近发现了一款好用的小程序平台,想要推送给更多人知道,于是计划通过写些java代码实现自动发送给qq邮箱相应的推送信息。
public void sendInlineMail(MailBean mailBean) {
MimeMessage mimeMailMessage = null;
try {
mimeMailMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMailMessage, true);
mimeMessageHelper.setFrom(sender);
mimeMessageHelper.setTo(mailBean.getReceiver());
mimeMessageHelper.setSubject(mailBean.getTopic());
mimeMessageHelper.setText("<html><body><div id =\"all\"> <div id=\"id1\" style=\"float: left\"><h1>外卖平台点单返利平台:</h1><img src='cid:xiaocan' width=\"800\" height=\"800\"/></div> "+
"<div id=\"id2\" style=\"float: left\"> <h1>平台在饿了吗,美团合作店铺多多:</h1><img src='cid:youhui' width=\"600\" height=\"800\"/> </div> </div> </body></html>", true);
//文件路径
FileSystemResource xiaocan = new FileSystemResource(new File("src/main/resources/xiaocan0.png"));
FileSystemResource youhui = new FileSystemResource(new File("src/main/resources/youhui.jpg"));
mimeMessageHelper.addInline("xiaocan", xiaocan);
mimeMessageHelper.addInline("youhui", youhui);
javaMailSender.send(mimeMailMessage);
} catch (Exception e) {
System.out.println(e.getClass());
log.error("邮件发送失败", e.getMessage());
}`
这里大致实现了图文的一起推送,为了实现更高效的推送服务,实现了多线程同时推送服务。
// for(int i=0;i<9;i++){
// executorService.submit(new Task());
// }
new Task().run();
}
class Task implements Runnable{
@Override
public void run() {
MailBean mail = new MailBean();
mail.setTopic("外卖返利小程序平台限时推广");
mail.setContent("微信扫码登录");
char[] arr = {'0','1','2','3','4','5','6','7','8','9'};
int NUMBERP = 20;
char[][] s = new char[NUMBERP][9];
String[] ss = new String[NUMBERP];
Random random = new Random();
for(int i =0;i<1e4;i++) {
for(int k=0;k<NUMBERP;k++) {
s[k][0] = '9';
for (int j = 1; j < 9; j++) {
int index = random.nextInt(arr.length);
s[k][j] = arr[index];
}
ss[k] = String.copyValueOf(s[k])+"@qq.com";
}
System.out.println(Arrays.asList(ss));
System.out.println('\n');
mail.setReceiver(ss);
controller.send01(mail);
}
}
也是通过这次实践,让我知道了多线程的强大的能力,在实践中学习才是进步最快的。