开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 83|回复: 2
打印 上一主题 下一主题
收起左侧

[易语言] 批量新建邮箱账号

[复制链接]
结帖率:47% (8/17)
跳转到指定楼层
楼主
发表于 前天 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   广东省佛山市
100精币
POST mailcow批量新建邮箱账号


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

签到天数: 19 天

沙发
发表于 昨天 18:39 | 只看该作者   福建省宁德市
mailcow批量新建邮箱账号要很多吗
回复

使用道具 举报

结帖率:96% (47/49)

签到天数: 7 天

板凳
发表于 7 小时前 | 只看该作者   河北省秦皇岛市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
集_API密钥文本型  
集_域名文本型  
集_服务器地址文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
' 初始化界面
按钮_导入账号.标题 = "导入账号"
按钮_开始创建.标题 = "开始创建"
按钮_开始创建.禁止 = 真
编辑框_结果.是否允许多行 = 真
编辑框_结果.滚动条 = 2  ' 纵向滚动条
进度条1.位置 = 0
子程序名返回值类型公开备 注
_按钮_导入账号_被单击  
.局部变量 文件路径, 文本型
.局部变量 文件内容, 文本型
.局部变量 账号列表, 文本型, , "0"
.局部变量 i, 整数型

文件路径 = 打开文件对话框 ("选择账号文件", "文本文件 (*.txt)|*.txt", , "账号列表.txt")
如果 (文件路径 = "")
返回 ()

如果 (文件是否存在 (文件路径))
文件内容 = 到文本 (读入文件 (文件路径))
账号列表 = 分割文本 (文件内容, #换行符, )

如果 (取数组成员数 (账号列表) > 0)
列表框_账号.清空 ()
计次循环首 (取数组成员数 (账号列表), i)
如果 (账号列表[i] ≠ "")
列表框_账号.加入项目 (账号列表[i], )

计次循环尾 ()
按钮_开始创建.禁止 = 假
标签_状态.标题 = "已导入" + 到文本 (列表框_账号.取项目数 ()) + "个账号"
信息框 ("文件内容为空", 0, "错误", )
信息框 ("文件不存在", 0, "错误", )

子程序名返回值类型公开备 注
_按钮_开始创建_被单击  
.局部变量 账号数量, 整数型

集_服务器地址 = 编辑框_服务器地址.内容
集_域名 = 编辑框_域名.内容
集_API密钥 = 编辑框_API密钥.内容

如果 (集_服务器地址 = "" 集_域名 = "" 集_API密钥 = "")
信息框 ("请填写完整服务器信息", 0, "提示", )
返回 ()

账号数量 = 列表框_账号.取项目数 ()
如果 (账号数量 = 0)
信息框 ("没有可创建的账号", 0, "提示", )
返回 ()

按钮_开始创建.禁止 = 真
按钮_导入账号.禁止 = 真
进度条1.最大位置 = 账号数量
进度条1.位置 = 0
编辑框_结果.内容 = ""

' 启动线程创建账号
线程_启动 (&批量创建账号, , )
子程序名返回值类型公开备 注
批量创建账号  
.局部变量 i, 整数型
.局部变量 账号信息, 文本型
.局部变量 用户名, 文本型
.局部变量 密码, 文本型
.局部变量 配额, 文本型
.局部变量 结果, 文本型
.局部变量 成功数, 整数型
.局部变量 失败数, 整数型

成功数 = 0
失败数 = 0

计次循环首 (列表框_账号.取项目数 (), i)
账号信息 = 列表框_账号.取项目文本 (i - 1)

' 解析账号信息 (格式: 用户名:密码:配额)
如果 (文本_分割 (账号信息, ":", 用户名, 密码, 配额) < 3)
结果 = "第" + 到文本 (i) + "行格式错误: " + 账号信息 + #换行符
编辑框_结果.加入文本 (结果)
失败数 = 失败数 + 1
到循环尾 ()

' 创建邮箱账号
如果 (创建邮箱账号 (用户名, 密码, 配额))
结果 = "成功创建: " + 用户名 + "@" + 集_域名 + #换行符
成功数 = 成功数 + 1
结果 = "创建失败: " + 用户名 + "@" + 集_域名 + #换行符
失败数 = 失败数 + 1

编辑框_结果.加入文本 (结果)
进度条1.位置 = i
处理事件 ()
计次循环尾 ()

编辑框_结果.加入文本 ("创建完成! 成功: " + 到文本 (成功数) + " 失败: " + 到文本 (失败数) + #换行符 )
按钮_开始创建.禁止 = 假
按钮_导入账号.禁止 = 假
子程序名返回值类型公开备 注
创建邮箱账号逻辑型 
参数名类 型参考可空数组备 注
用户名文本型
密码文本型
配额文本型
变量名类 型静态数组备 注
API地址文本型 
POST数据文本型 
协议头文本型 
响应文本型 
JSON类_json 
' 构造API地址
API地址 = "https://" + 集_服务器地址 + "/api/v1/add/mailbox"
' 构造POST数据
POST数据 = "local_part=" + 用户名 +
"&domain=" + 集_域名 +
"&password=" + 密码 +
"&password2=" + 密码 +
""a=" + 配额 +
"&active=1" +
"&force_pw_update=0" +
"&tls_enforce_in=0" +
"&tls_enforce_out=0"
' 设置协议头
协议头 = "Content-Type: application/x-www-form-urlencoded" + #换行符 +
"X-API-Key: " + 集_API密钥
' 发送POST请求
响应 = 到文本 (网页_访问_对象 (API地址, 1, POST数据, , , 协议头, , , , , , , , , , , ))
' 解析响应
如果 (JSON.解析 (响应))
如果 (JSON.取通用属性 ("type") = "success")
返回 ()
输出调试文本 ("创建失败: " + JSON.取通用属性 ("msg"))
输出调试文本 ("JSON解析失败: " + 响应)

返回 ()
子程序名返回值类型公开备 注
_按钮_测试连接_被单击  
.局部变量 测试结果, 逻辑型

集_服务器地址 = 编辑框_服务器地址.内容
集_API密钥 = 编辑框_API密钥.内容

如果 (集_服务器地址 = "" 集_API密钥 = "")
信息框 ("请填写服务器地址和API密钥", 0, "提示", )
返回 ()

测试结果 = 测试API连接 ()
如果 (测试结果)
信息框 ("API连接成功", 0, "成功", )
信息框 ("API连接失败", 0, "错误", )

子程序名返回值类型公开备 注
测试API连接逻辑型 
变量名类 型静态数组备 注
API地址文本型 
协议头文本型 
响应文本型 
JSON类_json 
API地址 = "https://" + 集_服务器地址 + "/api/v1/get/domain/all"
协议头 = "X-API-Key: " + 集_API密钥
响应 = 到文本 (网页_访问_对象 (API地址, 0, , , , 协议头, , , , , , , , , , , ))
如果 (JSON.解析 (响应))
如果 (JSON.取通用属性 ("type") = "success")
返回 ()


返回 ()
子程序名返回值类型公开备 注
_列表框_账号_列表项被选择  
.局部变量 选中项, 整数型

选中项 = 列表框_账号.现行选中项
如果 (选中项 ≥ 0)
按钮_删除选中.禁止 = 假
按钮_删除选中.禁止 = 真

子程序名返回值类型公开备 注
_按钮_删除选中_被单击  
.局部变量 选中项, 整数型

选中项 = 列表框_账号.现行选中项
如果 (选中项 ≥ 0)
列表框_账号.删除项目 (选中项)
标签_状态.标题 = "已导入" + 到文本 (列表框_账号.取项目数 ()) + "个账号"

如果 (列表框_账号.取项目数 () = 0)
按钮_删除选中.禁止 = 真
按钮_开始创建.禁止 = 真

子程序名返回值类型公开备 注
_按钮_添加账号_被单击  
.局部变量 用户名, 文本型
.局部变量 密码, 文本型
.局部变量 配额, 文本型
.局部变量 账号信息, 文本型

用户名 = 输入框 ("请输入用户名", "添加账号", )
如果 (用户名 = "")
返回 ()

密码 = 输入框 ("请输入密码", "添加账号", )
如果 (密码 = "")
返回 ()

配额 = 输入框 ("请输入邮箱配额 (MB)", "添加账号", "1024")
如果 (配额 = "")
配额 = "1024"

账号信息 = 用户名 + ":" + 密码 + ":" + 配额
列表框_账号.加入项目 (账号信息, )
按钮_开始创建.禁止 = 假
标签_状态.标题 = "已导入" + 到文本 (列表框_账号.取项目数 ()) + "个账号"




i支持库列表   支持库注释   
internet互联网支持库
spec特殊功能支持库
EThread多线程支持库



编辑框_服务器地址:Mailcow服务器地址(如:mail.example.com)
编辑框_域名:邮箱域名(如:example.com)
编辑框_API密钥:Mailcow API密钥

列表框_账号:显示待创建的账号列表
按钮_导入账号:从文本文件导入账号
按钮_添加账号:手动添加单个账号
按钮_删除选中:删除选中的账号
按钮_测试连接:测试API连接

按钮_开始创建:开始批量创建账号
进度条1:显示创建进度
编辑框_结果:显示创建结果

账号文件应为文本文件(.txt),每行一个账号,格式为:用户名:密码:配额
john:Passw0rd!1024
lisa:Secure#123:2048
mike:StrongP@ss:512


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表