windows server2012搭建邮箱服务器+客户端界面(hmailserver+afterlogic)+批量创建邮箱
阅读原文时间:2022年02月15日阅读:1

由于需要较多邮箱,如果去注册需要很多的手机号码去验证,一个人不可能买一堆的手机号,所以自己搭建一个邮箱服务器可以大批量的创建自己的邮箱账号和收发邮件。

  1. 下载hmailserver,根据实际情况选择版本,一般就是选择最新版本。

  2. 双击下载后的文件安装过程中一直下一步或者自己选择路径,碰到一步需要选择数据库的根据自己的数据库类型进行选择(本文选择使用mysql)


2.1 再下一步到输入密码这是设置管理密码的

2.2 验证HMailServer密码,同上面设置的密码

2.3 创建或者已有邮箱服务需要的数据库(本文选择新创建)

2.4 选择数据库类型(本文使用mysql)

2.5 配置数据库连接参数

2.6 直接一直下一步,中途会遇到一个报错找不到mysql32位的dll,如下图

解决方案:下载32位的libmsql.dll对应的dll放进Bin文件夹下,位置如下(根据自己的安装路径)

解压到对应的地方之后刚才报错的界面再按下一步,然后安装成功,打开运行

2.7 点击ok之后进入管理界面,添加域名

2.8 设置SMTP可明文密码发送

2.9 配置ip地址范围(这边不做限制直接设置为全部打开)

2.10 添加邮箱账号

3. 到域名后台把域名MX和A类型解析到邮箱服务器,服务器对外开放25,110,143,587端口(注意25端口如果是腾讯服务器需要去控制台我的》安全管控》申请解放25端口),如果只收不发可以不用25端口

4. 使用Foxmail测试是否成功
打开Foxmail》管理账号》新建》其他邮箱》手动设置,然后会弹出如下界面

5. 创建成功后用自己的qq邮箱给刚才设置好的邮箱发一封邮件试试,如下收到了测试邮件表示成功

6. 回复qq邮箱得到如下结果

7. 批量创建邮箱

7.1 找个目录建一个文件夹(本文在桌面创建了测试文件夹),建一个.vbs的文件内容如下:

Option&nbsp;Explicit&nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next&nbsp;&nbsp;wscript.echo&nbsp;&nbsp;"start&nbsp;..."&nbsp;Dim&nbsp;obBaseApp&nbsp;Dim&nbsp;objFSO&nbsp;Dim&nbsp;objTextFile&nbsp;Dim&nbsp;strNewAlias,i&nbsp;Dim&nbsp;scrreport&nbsp;Dim&nbsp;failed&nbsp;Dim&nbsp;added&nbsp;failed=0&nbsp;added=0&nbsp;i=0&nbsp;Const&nbsp;ForReading=1&nbsp;Set&nbsp;obBaseApp=CreateObject("hMailServer.Application")&nbsp;Call&nbsp;obBaseApp.Authenticate("Administrator","hmail上面设置的管理密码")&nbsp;&nbsp;Set&nbsp;objFSO=CreateObject("Scripting.FileSystemObject")&nbsp;Set&nbsp;objTextFile=objFSO.OpenTextFile("users.txt",ForReading)&nbsp;&nbsp;&nbsp;&nbsp;Do&nbsp;While&nbsp;objTextFile.AtEndOfStream<>True&nbsp;&nbsp;&nbsp;strNewAlias=split(objTextFile.Readline,",")&nbsp;&nbsp;&nbsp;Select&nbsp;Case&nbsp;strNewAlias(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;"User"&nbsp;AddUser&nbsp;strNewAlias(1),strNewAlias(2),strNewAlias(3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;"Alias"&nbsp;AddAlias&nbsp;strNewAlias(1),strNewAlias(2),strNewAlias(3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case&nbsp;"Delete"&nbsp;DelUser&nbsp;strNewAlias(1),strNewAlias(2)&nbsp;&nbsp;&nbsp;End&nbsp;Select&nbsp;&nbsp;If&nbsp;err.Number<>0&nbsp;Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrreport=scrreport&"Failed&nbsp;add(probably&nbsp;duplicate):"&strNewAlias(0)&","&strNewAlias(1)&","&strNewAlias(2)&","&strNewAlias(3)&VBNewLine&nbsp;&nbsp;&nbsp;&nbsp;failed=failed+1&nbsp;&nbsp;&nbsp;&nbsp;err.Clear&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp;added=added+1&nbsp;&nbsp;End&nbsp;If&nbsp;&nbsp;i=i+1&nbsp;Loop&nbsp;scrreport=scrreport&""&VBNewLinescrreport=scrreport&"Added="&added&VBNewLinescrreport=scrreport&"Failed&nbsp;or&nbsp;Duplicates="&failed&VBNewLinewscript.echo&nbsp;scrreportwscript.echo&nbsp;&nbsp;"end&nbsp;!"&nbsp;Sub&nbsp;AddAlias(strAlias,strEmailAddress,strDomain)&nbsp;&nbsp;Dim&nbsp;obDomain&nbsp;&nbsp;Dim&nbsp;obAliases&nbsp;&nbsp;Dim&nbsp;obNewAlias&nbsp;&nbsp;Set&nbsp;obDomain=obBaseApp.Domains.ItemByName(strDomain)&nbsp;&nbsp;Set&nbsp;obAliases=obDomain.Aliases&nbsp;&nbsp;Set&nbsp;obNewAlias=obAliases.Add()&nbsp;&nbsp;obNewAlias.Name=strAlias&"@"&strDomain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obNewAlias.Value=strEmailAddress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obNewAlias.Active=1&nbsp;&nbsp;obNewAlias.Save()&nbsp;&nbsp;Set&nbsp;obNewAlias=Nothing&nbsp;&nbsp;Set&nbsp;obAliases=Nothing&nbsp;&nbsp;Set&nbsp;obDomain=NothingEnd&nbsp;Sub&nbsp;Sub&nbsp;AddUser(strUsername,strPassword,strDomain)&nbsp;Dim&nbsp;obDomain&nbsp;Dim&nbsp;obAccounts&nbsp;Dim&nbsp;obNewAccount&nbsp;Set&nbsp;obDomain=obBaseApp.Domains.ItemByName(strDomain)&nbsp;Set&nbsp;obAccounts=obDomain.Accounts&nbsp;Set&nbsp;obNewAccount=obAccounts.Add()&nbsp;obNewAccount.Address=strUsername&"@"&strDomain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'username&nbsp;obNewAccount.Password=strPassword&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'password&nbsp;obNewAccount.Active=1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'activatesuser&nbsp;obNewAccount.Maxsize=500&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'set&nbsp;smailbox&nbsp;size,0=unlimited&nbsp;obNewAccount.Save()&nbsp;&nbsp;&nbsp;&nbsp;wscript.echo&nbsp;&nbsp;"addok--"&obNewAccount.Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;obNewAccount=Nothing&nbsp;Set&nbsp;obDomain=Nothing&nbsp;Set&nbsp;obAccounts=NothingEnd&nbsp;Sub&nbsp;&nbsp;&nbsp;Sub&nbsp;DelUser(strUsername,strDomain)&nbsp;Dim&nbsp;obDomain&nbsp;Dim&nbsp;obAccounts&nbsp;Dim&nbsp;obDelAccount&nbsp;Set&nbsp;obDomain=obBaseApp.Domains.ItemByName(strDomain)&nbsp;Set&nbsp;obAccounts=obDomain.Accounts&nbsp;Set&nbsp;obDelAccount&nbsp;=&nbsp;obAccounts.ItemByAddress(strUsername&nbsp;&&nbsp;"@"&nbsp;&&nbsp;strDomain)&nbsp;obDelAccount.Delete()&nbsp;wscript.echo&nbsp;&nbsp;"delok--"&&nbsp;strUsername&nbsp;&&nbsp;"@"&nbsp;&&nbsp;strDomain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;obDelAccount=Nothing&nbsp;Set&nbsp;obDomain=Nothing&nbsp;Set&nbsp;obAccounts=NothingEnd&nbsp;Sub&nbsp;

在刚才创建的目录下再建一个txt文件,批量要生成的内容如下:

User,test05,Test@102,xxxxxx.comUser,test06,Test@203,xxxxxx.comUser,test07,Test@304,xxxxxx.com

文件格式固定User开头,用户名,密码,域名
7.2 双击.vbs的文件执行,执行成功之后可以看到插入了三条账号

3.1 由于邮箱要分配到每个人根据自己的邮箱和密码登录查看和发送邮件,所以需要一个可视化界面来操作,所以开始如下部署(本文选用php版本,部署比较简单,当然您可以选择net版本)

3.2 下载PHP运行环境XAMPP(如果服务器有php环境请跳过本步骤)

3.3 安装过程选择如下图因为本服务器已经安装了mysql所以去掉打钩如果没有按照的就选择打钩,根据自己的服务器需求来进行安装


然后就一直下一步直到安装完成。(注意启动Apache的时候默认是80端口如果启动失败端口被占用,先修改一下,本文改为6052)

打开文件之后找到所有80的位置改为6052

以上步骤做完还可能遇到443也被占用,同上一个打开ssl的配置文件修改端口如下图


启动成功如下:

3.4 下载afterlogic,选择php版本

3.5 在xampp安装路径下的htdocs目录下创建一个目录然后把下载好的php文件解压到目录

3.6 修改htdocs目录下的index.php文件跳转目录指定到上一步创建的目录

3.7 进入配置管理http://127.0.0.1:6052/mail/adminpanel/#/默认用户是superadmin默认密码为空,登录进去之后

3.8 先修改密码避免开放外网时候别人进入你的管理界面

3.9 第二步设置数据库;先填好配置,然后安装1,2,3逐个点击都要执行成功最后点保存

3.10 设置邮箱服务(添加一条服务)



3.11 测试是否成功,打开主页http://127.0.0.1:6052/mail/输入hmailserver添加好的邮箱和密码


顺利完成!

至于站点配置域名访问,使用nginx配置域名指定到此端口号就行了。