iRedMail批量创建邮箱 您所在的位置:网站首页 批量添加邮箱地址 iRedMail批量创建邮箱

iRedMail批量创建邮箱

2024-06-13 15:19| 来源: 网络整理| 查看: 265

需求

来活儿了!开通500个邮箱!约摸2年前自建的iRedMail邮箱服务器闪亮登场!

这要是从后台届面手动注册,没个一天估计点不完,需求方没有给出用户名列表,光想出500个用户名也是不小的工作量,经过沟通,简单提取了一下需求,邮箱主要用来注册某某平台帐号,收一下验证码或验证邮件,所以容量方便应该没有太多要求,为减少被平台风控,尽量不要用太有规律的用户名,比如user001-user500之类的,如果用随机字符串做用户名也感觉像机器人搞出来的,是不是也会增加被风控的风险呢,如果能随机一些单词做为用户名就再好不过了。

经过一番搜索发现Debian系统自带了一个字典/usr/share/dict/words,此字典内包含了一些法语字母,脚本中正则过滤掉法语。随机数可能出现重复的情况,利用循环处理一下得到500个邮箱地址。

脚本 #!/bin/bash #iredmail脚本路径 #https://raw.yanyong.cc/sh/create_mail_user_SQL.sh sh='/home/yan/iRedMail-1.3.2/tools/create_mail_user_SQL.sh' #利用系统自带字典生成长度4-12的小写单词字典,-P 以perl-regexp模式很重要,不然会匹配到法语字母 grep -P '^[a-z]{4,12}$' /usr/share/dict/words > /tmp/words.txt wordsPath='/tmp/words.txt' #字典文件路径 wordsLines=$(wc -l $wordsPath | awk '{print $1}') #字典单词总数,我这里是59386 #保存邮箱地址 mailList='mail.txt' #保存邮箱密码,与用户名行数一一对应 passwordList='password.txt' #要生成单词数量,也就是要创建邮箱的数量 count=500 #随机数$RANDOM范围0-32767,$prime最好是质数,尽可能让结果覆盖1-59386 prime=13 rand() { rand=$(($RANDOM * $prime % $wordsLines + 1)); } domain=mydomain.com username='显示名称' language='zh_CN' settings='timezone:Asia/Hong_Kong;' quota='256' #邮箱大小,单位MB #随机数$rand可能出现相同的数字,利用while循环检测去重后的数量,生成$count个不重复的邮箱地址 touch /tmp/.temp.txt && > /tmp/.temp.txt while [[ $(sort -u /tmp/.temp.txt | wc -l) -lt $count ]]; do rand #调用rand()函数 word=$(sed -n "$rand"p $wordsPath) echo "$word"@"$domain" >> /tmp/.temp.txt done sort -u /tmp/.temp.txt > $mailList rm /tmp/.temp.txt mail_array=(`cat $mailList`) #存入数组mail_array for ((i=0; i> $passwordList sudo bash $sh $mail $password $username $language $settings $quota >> adduser.20220615.sql done

执行脚本会在当前目录生成三个文件adduser.20220615.sql,mail.txt,password.txt。

三个文件输出部分示例如下:

$ tail adduser.20220615.sql INSERT INTO mailbox (username, password, name, language, settings, storagebasedirectory,storagenode, maildir, quota, domain, active, passwordlastchange, created) VALUES ('[email protected]', '{SSHA512}+uaG/k7jRMxp9aB66PcO7n/lWLHUMtgOtBPcPUQ0mprIKZp7M3exKlMQ2ASGsXHqDFsIPcS/SIoo+YtcWQgYmdOWGF0=', '显示名称', 'zh_CN', 'timezone:Asia/Hong_Kong;', '/var/vmail','vmail1', 'mydomain.com/zodiac-2022.06.15.14.48.03/', '256', 'mydomain.com', '1', NOW(), NOW()); INSERT INTO forwardings (address, forwarding, domain, dest_domain, is_forwarding) VALUES ('[email protected]', '[email protected]','mydomain.com', 'mydomain.com', 1);

$ nl mail.txt | tail 491 [email protected] 492 [email protected] 493 [email protected] 494 [email protected] 495 [email protected] 496 [email protected] 497 [email protected] 498 [email protected] 499 [email protected] 500 [email protected]

$ nl password.txt | tail 491 G8qjEsHjZU 492 jLcP0zmBYE 493 LCYZO8JuX7 494 8GwTSdn1Mo 495 4UXgp5fEZY 496 DDYH962JF9 497 3JP8JdDunV 498 2XhVcDyxTS 499 rwnxjDeDPI 500 5Wg7jLpFs4

创建邮箱

准备工作已做好,开始创建500个邮箱!

passwd=123456 mysql -uroot -p$passwd vmail < adduser.20220615.sql

收集邮箱信息

mail.txt和password.txt直接复制文本,粘帖到excel表格即可,excel表格会自动分行!

via.https://yanyong.cc/post/iredmail-create-mail-user/ 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有