windows server2012搭建邮箱服务器+客户端界面(hmailserver+afterlogic)+批量创建邮箱
1.简介
由于需要较多邮箱,如果去注册需要很多的手机号码去验证,一个人不可能买一堆的手机号,所以自己搭建一个邮箱服务器可以大批量的创建自己的邮箱账号和收发邮件。
2.安装部署hmailserver
下载hmailserver,根据实际情况选择版本,一般就是选择最新版本。
双击下载后的文件安装过程中一直下一步或者自己选择路径,碰到一步需要选择数据库的根据自己的数据库类型进行选择(本文选择使用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邮箱得到如下结果
.jpg)
7. 批量创建邮箱
7.1 找个目录建一个文件夹(本文在桌面创建了测试文件夹),建一个.vbs的文件内容如下:
Option Explicit
 On Error Resume Next
  wscript.echo  "start ..."
 Dim obBaseApp
 Dim objFSO
 Dim objTextFile
 Dim strNewAlias,i
 Dim scrreport
 Dim failed
 Dim added
 failed=0
 added=0
 i=0
 Const ForReading=1
 Set obBaseApp=CreateObject("hMailServer.Application")
 Call obBaseApp.Authenticate("Administrator","hmail上面设置的管理密码") 
 Set objFSO=CreateObject("Scripting.FileSystemObject")
 Set objTextFile=objFSO.OpenTextFile("users.txt",ForReading)   
 Do While objTextFile.AtEndOfStream<>True
   strNewAlias=split(objTextFile.Readline,",")
   Select Case strNewAlias(0)
     Case "User"
 AddUser strNewAlias(1),strNewAlias(2),strNewAlias(3)
     Case "Alias"
 AddAlias strNewAlias(1),strNewAlias(2),strNewAlias(3)
     Case "Delete"
 DelUser strNewAlias(1),strNewAlias(2)
   End Select
  If err.Number<>0 Then  
    scrreport=scrreport&"Failed add(probably duplicate):"&strNewAlias(0)&","&strNewAlias(1)&","&strNewAlias(2)&","&strNewAlias(3)&VBNewLine
    failed=failed+1
    err.Clear
  Else
   added=added+1
  End If
  i=i+1
 Loop
 
scrreport=scrreport&""&VBNewLine
scrreport=scrreport&"Added="&added&VBNewLine
scrreport=scrreport&"Failed or Duplicates="&failed&VBNewLine
wscript.echo scrreport
wscript.echo  "end !"
 
Sub AddAlias(strAlias,strEmailAddress,strDomain)
  Dim obDomain
  Dim obAliases
  Dim obNewAlias
  Set obDomain=obBaseApp.Domains.ItemByName(strDomain)
  Set obAliases=obDomain.Aliases
  Set obNewAlias=obAliases.Add()
  obNewAlias.Name=strAlias&"@"&strDomain     
  obNewAlias.Value=strEmailAddress           
  obNewAlias.Active=1
  obNewAlias.Save()
  Set obNewAlias=Nothing
  Set obAliases=Nothing
  Set obDomain=Nothing
End Sub
 
Sub AddUser(strUsername,strPassword,strDomain)
 Dim obDomain
 Dim obAccounts
 Dim obNewAccount
 Set obDomain=obBaseApp.Domains.ItemByName(strDomain)
 Set obAccounts=obDomain.Accounts
 Set obNewAccount=obAccounts.Add()
 obNewAccount.Address=strUsername&"@"&strDomain      'username
 obNewAccount.Password=strPassword                   'password
 obNewAccount.Active=1                               'activatesuser
 obNewAccount.Maxsize=500                             'set smailbox size,0=unlimited
 obNewAccount.Save()    
wscript.echo  "addok--"&obNewAccount.Address                              
 Set obNewAccount=Nothing
 Set obDomain=Nothing
 Set obAccounts=Nothing
End Sub 
 
 
Sub DelUser(strUsername,strDomain)
 Dim obDomain
 Dim obAccounts
 Dim obDelAccount
 Set obDomain=obBaseApp.Domains.ItemByName(strDomain)
 Set obAccounts=obDomain.Accounts
 Set obDelAccount = obAccounts.ItemByAddress(strUsername & "@" & strDomain)
 obDelAccount.Delete()
 wscript.echo  "delok--"& strUsername & "@" & strDomain                              
 Set obDelAccount=Nothing
 Set obDomain=Nothing
 Set obAccounts=Nothing
End Sub 
在刚才创建的目录下再建一个txt文件,批量要生成的内容如下:
User,test05,Test@102,xxxxxx.com
User,test06,Test@203,xxxxxx.com
User,test07,Test@304,xxxxxx.com
文件格式固定User开头,用户名,密码,域名
7.2 双击.vbs的文件执行,执行成功之后可以看到插入了三条账号

3安装部署afterlogic
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配置域名指定到此端口号就行了。
windows server2012搭建邮箱服务器+客户端界面(hmailserver+afterlogic)+批量创建邮箱的更多相关文章
- windows server2012 搭建FTP服务器过程
		
搭建过程链接地址:https://blog.csdn.net/smalllu161226/article/details/53887751 1.打开windows server2012R2 服务器管理 ...
 - windows 上搭建 sftp 服务器 -freesshd全过程( 在linux上部署逐浪CMS的必读教程)
		
文章标题: windows 上搭建 sftp 服务器 - freesshd全过程 关键字 : freesshd 文章分类: 教程 创建时间: 2020年3月23日 缘由 动手 第一步:添加用户 第二步 ...
 - windows 下搭建git服务器,及问题处理。
		
最近要做一个源码管理服务器,权衡了一下还是git最适合,搭建服务器前看了网上一些windows下搭建git服务器的帖子,感觉还比较简单,没有太多需要配置的地方,于是开始动手. 我选择的是 gitfor ...
 - windows下搭建nginx-rtmp服务器
		
windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载n ...
 - 如何在windows server2016搭建DHCP服务器
		
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议.指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分 ...
 - Windows环境搭建mysql服务器
		
Windows环境搭建mysql服务器: 1.下载mysql-installer-community-5.7.3.0-m13.2063434697并安装 安装详细步骤>> 2.安装mys ...
 - Windows中搭建ftp服务器
		
使用工具Quick Easy FTP Server Windows中搭建FTP服务器有什么用呢? 确实没有用,直到有一次,我在VM中安装了Linux虚拟机,但是文件怎么也上传不到这个虚拟机中. 然后用 ...
 - Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit
		
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
 - [源码管理] Windows下搭建SVN服务器
		
前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效 ...
 
随机推荐
- python自动化测试框架的unittest与pytest前后置条件的区别
			
前言: 笔者先试有用过unittest的前后置条件和pytest的前后置条件,觉得pytest的前后置条件比unittest的要简洁.方便很多.不过在使用unittest的前后置条件时,已经觉得在和每 ...
 - Python实战案例系列(一)
			
本节目录 烟草扫码数据统计 奖学金统计 实战一.烟草扫码数据统计 1. 需求分析 根据扫码信息在数据库文件中匹配相应规格详细信息,并进行个数统计 条码库.xls 扫码.xlsx 一个条码对应多个规格名 ...
 - Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口
			
更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML ...
 - android+opencv+opencl: cv::dft()的opencl版本的性能分析
			
在小米mix 2s + 高通骁龙 845 + Adreno 630 上测试了opencl版本的cv::dft(). 测试数据 先看表格里面的描述: 名称 函数名 最大时间(ms) 平均时间(ms) 说 ...
 - 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引
			
系列背景 在进入微服务的实践系列之前,我们一起来学习和实践一下.NET应用开发生态中一些比较重要的技术,这个系列就是关于GraphQL在.NET 6应用中的实现. 系列导航 使用Hot Chocola ...
 - JavaCV的摄像头实战之一:基础
			
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于<JavaCV的摄像头实战>系列 &l ...
 - JUC之阻塞队列(BlockingQueue)基础
			
阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作支持阻塞的插入和移除方法. 阻塞队列常用于生产者和消费者的场景: 当队列为空的,从队列中获取元素的操作将会 ...
 - 什么是Filter过滤器
			
一,什么是Filter过滤器: JavaWeb三大组件之一 Filter过滤器是JavaEE的规范.也就是接口 Filter过滤器作用:拦截请求,过滤响应 拦截请求常见的应用场景有: 1,权限检查 2 ...
 - redis集群运维
			
Redis 的数据类型? Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set(有序集合) redis优势 速度快, ...
 - 人口信息普查系统-JavaWeb-四
			
今天给大家分享前端人口登记页面,人口查询页面 人口登记 <%@ page language="java" contentType="text/html; chars ...