给任何群发群发邮件都不怕没权限,SpringBoot搭建邮箱服务

createh54个月前 (12-15)技术教程40

一般非QQ群管理员,是没有群发邮件的权限,不过不要着急,下面就普及下怎么以普通群成员群发邮件。

打开QQ群官网,然后成员管理,选择对应的QQ群,这样就可以拿到这个群的全部QQ号,利用正则表达式匹配出所有的QQ号,然后末尾加上@qq.com就可以拿到群里所有人的邮件。



正常来讲这个时候就可以利用个人邮箱群发邮件了,但是实际上这么操作有很大的限制。

自己搭建一套邮箱发送项目,这样就有很大的自由。可以挨个人发送,也可以延迟发送以防被认为是垃圾邮件。

下面就是SpringBoot搭建一个邮箱的实例

后台引入mail相关包(如果您不想看代码可以快速划过,收藏起来以防备用)

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

java代码:

public class EmailTool {
    @Autowired    private JavaMailSender javaMailSender;
    @Value("${spring.mail.from.addr}")
    private String from;//由谁发出邮件 is my    @Value("${spring.mail.nick}")
    private String nick;//邮件昵称    public void sendSimpleMail(String[] toUser,String title,String htmlContent,List<File> fileList){
        MimeMessage message = null;
        try {
            message = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            nick = MimeUtility.encodeText(nick,"utf-8",null);
            helper.setFrom(new InternetAddress(nick + "<"+from+">"));
            helper.setTo(toUser);
            helper.setSubject(title);
            helper.setText(htmlContent, true);
            if(fileList!=null && fileList.size()>0){
                for(File file:fileList){
                    FileSystemResource fileSystemResource=new FileSystemResource(file);
                    helper.addAttachment(fileSystemResource.getFilename(), fileSystemResource);
                }
            }
            javaMailSender.send(message);
        } catch (Exception e) {
            e.printStackTrace();
            throw new MyException(e);
        }
    }

}

这样就支持HTML文本以及附件发送,至于你有什么样的需求来发送邮件,都是可以随意控制的


发送邮件的端口普通的是25,加密的是465.建议使用后者,一般云服务商会把25端口关闭掉,以防发送垃圾邮件。

本文由聊推原创,欢迎关注,带你一起长知识!