hMailServer自建邮箱系统
hMailServer是一个免费的邮件系统,可以通过自定义域名,然后创建自己的个性的邮箱,比如:bibichuan@bibichuan.com。
1.安装
下载安装,设置外接sql,这个都是挺简单的,就不介绍了,双击安装程序,下一步,下一步,下一步配置相关的数据库就可以了。主要讲一下安装完成之后需要设置哪些内容。
参考文章:
1.hmailserver (官网)
3.hMailServer安装使用教程
DNS解析设置
域名解析看起来挺复杂的,其实我总结了一下,也挺简单的。
(1) 在阿里云中添加域名解析,记录类型为A的记录mail地址指向hmailserver服务器安装地址,比如:mail.bibichuan.com
(2) 记录类型为Mx的主机记录@指向mail域名,记录类型为CNAME的smtp和pop3,也同样指向mail设置的域名
(3) hmailserver服务器开启25、110、143、587 端口
DKIM设置
这个设置不是必须的,设置了之后就是不让其他的邮箱系统,认定为垃圾邮箱。
参考文章:
1.给hMailServer添加DKIM图文教程 下载openssl,生成公钥和私钥,域名管理添加txt纪录, 记录头为hmail._domainkey (hmail可以随你填),记录值为k=rsa; p=生成的rsa.public中的内容
2.Openssl生成自签名证书,简单步骤
3.如何将openssl生成key格式转换成ssh-keygen格式 因为好奇,所以查了下ssh-keygen生成的密钥和openssl生成的密钥的不同以及相互转化过程
2.忘记管理员密码
参考文章:
1.hmailiserver邮件服务器后台密码忘记的解决办法,hmail管理员密码忘了怎么办
2.修改hMailServer管理密码
3.修改密码
打开hmailServer服务端,选择需要修改密码的邮箱账号,然后在Password一栏中填入新的密码就可以了。
参考文章:
1.hmailserver帐号密码修改代码 (没啥用,用不着编程)
2.hmailserver自行设置密码 (好像也是需要一个插件,没用到)
3.hmailserver 通过 webmail 修改密码 (通过webmail进行密码修改)
4.hMailServer之允许用户自己修改密码 (这里是允许用户自己修改密码,而不是通过hmailServer管理控制台)
5.hmailserver设置用户账户密码加密类型 (实现不同加密类型)
4.Foxmail收发邮件
新建了自己的邮箱之后,需要有客户端进行邮件的收发,这里我选择了Foxmail。
4.1.新建账号
打开Foxmail客户端,右侧的菜单栏,下拉之后,选择账号管理,然后选择新建
4.2.设置协议
点击创建,然后选择接收服务器类型为pop3,其他的默认,点击创建,就可以了。
参考文章:
1.Foxmail怎么添加邮箱帐号,怎么设置新邮箱帐户
5.可以接收右键,但是无法发送邮件
借助于Foxmail客户端,可以正常的接收邮件,但是使用Foxmail却无法发送邮件,虽然Foxmail发送邮件的时候显示发送成功了,但是对方的邮箱没有收到,无论是外部邮箱还是内部邮箱都不可以。
日志错误信息有如下内容:
(1) DNS - Query failure. Treating as temporary failure,”Could not retrieve PTR record for IP (false)!
尝试了以下的方法:
(1) 查看日志,打开hMailServer Administrator管理控制台->Settings->Logging->Show Logs,可以打开日志文件夹,查看具体日期的日志。
(2) 关闭Auto-ban,打开hMailServer Administrator管理控制台->Settings->Advanced->Auto-ban,取消Enabled选中。
(3) 修改计算机的DNS,打开网络设置->选择网络->打开网络设置属性,将DNS改为223.5.5.5。
(4) 删除IP Ranges中的Auto-ban,打开hMailServer Administrator管理控制台->Settings->Advanced->IP Ranges,将Auto-ban进行删除
(5) 清空DNS缓存,右键以管理员身份打开cmd,输入以下命令
1 | ## 显示dns |
(6) 修改SMTP的host name,打开hMailServer Administrator管理控制台->Settings->Protocols->SMTP,修改Local host name。
比较奇怪的是,hMailServer不能往外发送邮件,比如不能发送邮件到QQ、163等邮箱,但是可以部分往内网发送,比如同样是HMailServer上的账号,就可以互发消息,更加奇怪的是,并不是所有的内网都可以发送邮件,有部分邮件无法发送,比如同是hMailServer的账号wechat6@和wechat7@、wechat8@,PM@,可以向wechat7@、wechat8@发送邮件,但是发送给wechat6@的邮件,wechat6就是收不到。
参考文章:
1.hmailserver 能收到无法发送发外部邮件 (这里又有个人说是DNS问题,以及Auto-ban的问题)
2.IP range
3.hMailServer SSL 配置
4.DnsQuery return value: 9002
5.windows下如何查看以及清除DNS缓存 使host立即生效
7.SMTP settings (这里是SMTP的设置)
8.hMailServer and reverse DNS (这里有一个答案就是Under SMTP Settings >> Hostname,设置DNS)
9.无法获取PTR记录,邮件延迟几小时
(7) queue next try “as soon as possible”
在hMailSerer->Status->Delivery queue,发送队列Next try,显示的是:As soon as possible。
右键邮件,选择立即发送,还是发送不了。
(8) 进行Utilties->Diagnostics进行诊断,没有什么问题。
(9) 进行内网发送邮件,只发送一个邮件但是在发送队列中会出现很多的inbox和outbox发送的记录。
参考文章:
1.Outgoing queue next try “as soon as possible”
2.hmailserver 不能收发邮件 但是发送和手动刷新接收无错误提示
3.能发送,但接收不到。。请指教 (这里是能发送,不能接收,但是我的是能接收但是不能发送)
4.服务器配置后,只能收邮件不能发邮件,诊断如下,请大神帮忙解答
5.进行hmailserver诊断问题如何解决
6.SENT: 535 Authentication failed. Restarting authentication p
(10) SENT: 535 Authentication failed. Restarting authentication process.
日志文件中还有一个地方就是出现了一个535权限认证的问题,这个问题也不知道为什么会这样。
参考文章:
1.SMTP login not working for hMailServer (这个讨论也没提供好点的意见和建议)
2.535 Authentication failed problem (这篇文章也没有什么可用的好的方法)
解决办法
有一天突然hMailServer无法接收邮件了出现了邮件被退回554错误,经过排查,原来是因为磁盘空间满了,清理了磁盘空间之后,在foxmail中收到这么个邮件:Message undeliverable
大意就是说无法向qq邮箱发送邮件,说是无法连接SMTP服务器,因为自己连接自己了。于是我在设置中,把”SMTP Relayer”中的 “Remote host name”清空,最后终于是可以向qq邮箱发送邮件了。
6.其他问题
(1) 554 Your message was received but it could not be saved
出现这个原因,我发现是可能是因为磁盘空间满了导致的。
参考文章:
1.554 Your message was received but it could not be saved (没什么用)
2.Your message was received but it could not be saved (这是官网对554问题可能的原因说明:如果电子邮件是hMailServer收到的,但无法保存在数据库中,则此错误消息将发送到客户端。)
3.hmailserver配置–ini文件设置 (修改hmailserver.ini文件,可以修改DataFolder文件夹的位置,这个文件夹包含了很多的数据,经常运行可能会达到20多G甚至更高)
(2) 550 Domain may not exist or DNS check failed
其实这个的真正问题,就是SPF错误,也就是垃圾邮件错误,发出去的邮件被认为是垃圾邮件。
参考文章:
1.Error Type SMTP 550-verification failed
2.550 domain may not exist or dns check failed
(3) 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败
根据参考文章2的提示,我使用了提供的小工具进行账号测试,于是出现了无法登录的问题,于是我查看了邮箱设置的协议,发现了原来设置了imap协议,重新添加了一个pop3的协议就可以了。
还有一点可能需要注意,其实我换了一个hmailServer服务器,但是实际上呢,没有换域名,可能导致旧的邮件无法收取,新键一个账号就可以了。
参考文章:
1.如何使用「邮件收发诊断」工具?
2.Foxmail提示错误: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 (使用小工具进行检查)
3.FOXMAIL 诊断之后无法登陆到收信服务器 (可能是收信协议不同导致的问题imap.mxhichina.com 端口是143)
