1.简介

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

2.安装部署hmailserver

  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 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)+批量创建邮箱的更多相关文章

  1. windows server2012 搭建FTP服务器过程

    搭建过程链接地址:https://blog.csdn.net/smalllu161226/article/details/53887751 1.打开windows server2012R2 服务器管理 ...

  2. windows 上搭建 sftp 服务器 -freesshd全过程( 在linux上部署逐浪CMS的必读教程)

    文章标题: windows 上搭建 sftp 服务器 - freesshd全过程 关键字 : freesshd 文章分类: 教程 创建时间: 2020年3月23日 缘由 动手 第一步:添加用户 第二步 ...

  3. windows 下搭建git服务器,及问题处理。

    最近要做一个源码管理服务器,权衡了一下还是git最适合,搭建服务器前看了网上一些windows下搭建git服务器的帖子,感觉还比较简单,没有太多需要配置的地方,于是开始动手. 我选择的是 gitfor ...

  4. windows下搭建nginx-rtmp服务器

    windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载n ...

  5. 如何在windows server2016搭建DHCP服务器

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议.指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分 ...

  6. Windows环境搭建mysql服务器

    Windows环境搭建mysql服务器: 1.下载mysql-installer-community-5.7.3.0-m13.2063434697并安装  安装详细步骤>> 2.安装mys ...

  7. Windows中搭建ftp服务器

    使用工具Quick Easy FTP Server Windows中搭建FTP服务器有什么用呢? 确实没有用,直到有一次,我在VM中安装了Linux虚拟机,但是文件怎么也上传不到这个虚拟机中. 然后用 ...

  8. Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

  9. [源码管理] Windows下搭建SVN服务器

    前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效 ...

随机推荐

  1. 初识python: 多态

    多态:允许你将父对象设置成为,与一个或更多其子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.    简单讲就是:允许将子类类型的指针赋值给父类类型的指针. 多态 ...

  2. django中的时区问题

    在django中设置时区,通过setting文件中的: TIME_ZONE = 'Asia/Shanghai' 开起多时区支持功能:USE_TZ=True 这时在数据库中插入的时间为UTC时间,当调用 ...

  3. 详解nginx的请求限制(连接限制和请求限制)

    https://www.jb51.net/article/143682.htm 一,背景 我们经常会遇到这种情况,服务器流量异常,负载过大等等.对于大流量恶意的攻击访问,会带来带宽的浪费,服务器压力, ...

  4. css画叉叉(一般用于关闭按钮)

    css 一般用于右上角关闭弹窗 #pdclose { width: 18px; height: 18px; cursor: pointer; float: right; position: relat ...

  5. v4l2数据获取流程

    V4L2数据获取流程 整个过程相关的数据结构有如下几个: struct v4l2_capability m_cap; /* 驱动能力 */ struct v4l2_format m_fmt; /* 数 ...

  6. 彻彻底底地理解TCP三次握手和四次挥手的全部过程

    三次握手 我们先提出一些问题,但是我们暂且不回答这些问题,下面我会尽我所能详尽地讲解TCP的三次握手过程,然后看完你可以在评论区留下你对问题的答案,我们可以一起探讨. 为什么要握手 为什么是三次而不是 ...

  7. Python与Javascript相互调用超详细讲解(2022年1月最新)(一)基本原理 Part 1 - 通过子进程和进程间通信(IPC)

    TL; DR 适用于: python和javascript的runtime(基本特指cpython[不是cython!]和Node.js)都装好了 副语言用了一些复杂的包(例如python用了nump ...

  8. 单篇长文TestNG从入门到精通

    简介 TestNG是Test Next Generation的缩写,它的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说: 注解. 多线程,比如所有方法都在各自线程中,一个测 ...

  9. leeetcode 20. 有效的括号

    20. 有效的括号 问题描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的 ...

  10. 用js判断页面是否加载完成实现代码

    方式一:window.onload: 当一个文档完全下载到浏览器中时,才会触发window.onload事件.这意味着页面上的全部元素对js而言都是可以操作的,也就是说页面上的所有元素加载完毕才会执行 ...