基于java spring的邮件群发简单方式
来源:互联网 发布:python 数据分析 知乎 编辑:程序博客网 时间:2024/06/03 23:08
使用环境
- maven
- spring
- mybatis
- mysql
- java mail
- qq邮箱
准备工作
- 使用maven将spring、mybatis、mysql、java mail所需要的包导入,具体导入的包见demo的pom.xml
- 申请一个邮箱账号(若有则跳过)
- 对于qq邮箱,需要申请授权码,路径:设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->开启POP3/SMTP服务
- 在mysql中新建表user,并将想要发送的邮箱参数填入,表格式如下
id name
基础配置
spring、mybatis
详细配置见demo
java mail
使用@PropertySource和@Value将mail.properties的内容读取出来。
@Configuration@PropertySource("mail.properties")public class MailConfig {@Value("${mail.host}")private String mailHost;@Value("${mail.port}")private int mailPort;@Value("${mail.username}")private String username;@Value("${mail.password}")private String password;@Value("${mail.auth}")private String auth;@Value("${mail.timeout}")private String time0ut;@Value("${mail.starttls.enable}")private String starttlsEnable;@Value("${mail.socketFactory.fallback}")private String socketFactoryFallback;@Value("${mail.socketFactory.class}")private String socketFactoryClass;......
将上面读取的内容添加到mailsender中进行配置
@Beanpublic MailSender mailSender(Environment env){ JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost(mailHost); mailSender.setPort(Integer.valueOf(mailPort)); mailSender.setUsername(username); mailSender.setPassword(password); mailSender.setDefaultEncoding("utf-8"); Properties jpro = new Properties(); jpro.setProperty("mail.smtp.auth", auth); jpro.setProperty("mail.smtp.timeout", time0ut); jpro.setProperty("mail.smtp.starttls.enable", starttlsEnable); jpro.setProperty("mail.smtp.socketFactory.port", String.valueOf(mailPort)); jpro.setProperty("mail.smtp.socketFactory.fallback", socketFactoryFallback); jpro.setProperty("mail.smtp.socketFactory.class", socketFactoryClass); mailSender.setJavaMailProperties(jpro); return mailSender;}
这样java mail的基础配置就基本完成
发送邮件
目标是发送基于html的邮件,这样我们可以定制出各种各样的新鲜样式
读取html文件
为了方便笔者直接使用了apache的commons-io读取文件内容String text = "";File file = ResourceUtils.getFile("classpath:mail.html");text = FileUtils.readFileToString(file, "utf-8");
读取数据库用户列表
使用mybatis读取mysql中的email列表实现群发功能,具体操作见demo
创建邮件
邮件至少由4个部分组成,分别是发送者,接受者,邮件名称,内容,可用以下参数配置MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8");helper.setFrom(mailUserName);helper.setTo(email);helper.setSubject("DEMO");helper.setText(text, true); //true可以显示html格式的文本
- 发送邮件
最后使用mailSender.send(message);
发送邮件即可。
源码下载
- csdn: http://download.csdn.net/detail/will4906/9880292
- github: https://github.com/will4906/MailGroup
赞赏
赞赏 微信 支付宝阅读全文
0 0
- 基于java spring的邮件群发简单方式
- Java邮件群发器
- JAVA邮件群发
- JAVA群发邮件代码
- JAVA实现邮件群发
- Java邮件群发系统
- java 群发求职邮件
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- 基于JavaMail的Java邮件发送:简单邮件发送
- Maven 仓库
- Android 批量系统打包(半自动化)
- 6. ESP8266固件的下载
- 【effective Java读书笔记】方法(三)
- Django报错 “view didn't return an HttpResponse object.”
- 基于java spring的邮件群发简单方式
- Maven 生命周期和插件
- iOS App上架流程(2016详细版)
- OC中对象
- VTK配置
- iOS itunesconnect 权限分配(发布版本前奏)
- Java接口回调
- Maven 聚合与继承
- 2017美团编程大赛初赛B-E.子串(进制转换+KMP)