群晖搭建邮件服务器新手指南(mailplus server套件)

2019-11-23 19:26:28 48点赞 307收藏 46评论

所有入了群晖坑的兄弟们,估计都动过搭建一个私人邮件服务器的念头,不管它好不好用,单是拥有一个符合自己心意的邮箱地址就感觉非常开心,特别是在这个好邮箱名或自己名字的邮箱名全被占用的年代。

群晖最近推出来的mailplus server和mailplus station套件让搭建邮件服务器再不是技术宅们的专利,它让一切变得傻瓜起来,只需要做几步很简单的设定,你就能拥有一个完全由自己控制的邮件服务器。(注:mail server和mail station是早期套件,是通过调用其他邮件系统来实现)

准备工作

1、我们要准备一个域名
2、我们需要一个公网IP(用花生壳之类的也能实现,但是其实还麻烦,因为得到公网IP并不难)
域名这个很简单,申请域名的地方有很多,便宜的几块钱首年,一般的也就二十到三十不等。我们要注意的是续费,别整个首年1块钱,续费一百多,当然土豪请忽视。我自己就是在阿里云上申请的,因为在阿里云上申请AccessKey特别简单。至于公网IP,可以打电话到客服,如果你是电信的话打10000台,说家里要装监控,需要用到公网IP,多来回交涉几次,一般都没问题。

第一步 路由器设置

把光猫设置成桥接模式,这个很简单,用光猫的IP地址(有的光猫需要在IP地址后加:8080端口才能进入管理页面)登录进光猫管理页面后选择桥接模式。然后在路由中选择PPPoE拔号上网就行。相信这一步入了群晖坑的早就做过了。
然后我们设置端口转发,邮件服务器需要用到下面几个端口,协议都是TCP,这里面的192.168.2.81是我自己的群晖地址,你对应的改成自己群晖的IP地址就行了。

群晖搭建邮件服务器新手指南(mailplus server套件)

第二步 域名解析和获取AccessKey

1、获取AccessKey(如果你有固定公网IP这可以跳过,我估计一般人都没有,所以还是老老实实看下去吧群晖搭建邮件服务器新手指南(mailplus server套件)
我是在阿里云上申请的域名,鼠标移到右上角的头像上,就会出现AccesKey的按钮,然后顺着下图一步步的点

群晖搭建邮件服务器新手指南(mailplus server套件)

在这里我们使用子用户AccessKey,因为如果不使用子用户的话,万一你的AccessKey被泄露,你的所有权限都会被别人控制,用子用户的好处是可以单独设置权限,比如这个我就只准备指定云解析的权限。在这里我们使用子用户AccessKey,因为如果不使用子用户的话,万一你的AccessKey被泄露,你的所有权限都会被别人控制,用子用户的好处是可以单独设置权限,比如这个我就只准备指定云解析的权限。

群晖搭建邮件服务器新手指南(mailplus server套件)

记得要勾选下面的编程访问启用 AccessKey ID 和 AccessKey Secret,支持通过API或其他开发工具访问

复制好AccessKey ID 和 AccessKey Secret,放到一个记事本中,我们后面要用到的复制好AccessKey ID 和 AccessKey Secret,放到一个记事本中,我们后面要用到的

群晖搭建邮件服务器新手指南(mailplus server套件)

用户设置好后,我们给它指定权限,因为在这里我们准备通过它来设置域名解析,所以给予它云解析的权限

在搜索框打个解析,很简单就可以找到管理云解析选项,添加进去就OK了在搜索框打个解析,很简单就可以找到管理云解析选项,添加进去就OK了

到此为止我们就把AccessKey子用户就设置好了,存好AccessKey ID,我们后面会用到。

2、域名解析
邮件服务器需要用到两条域名解析,一个是MX邮件解析一个是A记录解析。假设我们申请到的域名是abc.com,下面我们就用abc.com域名作为例子。

首先我们找到现在的公网IP是多少,在浏览器上输入www.ip.cn就能看到自己的公网IP,记好自己的IP

群晖搭建邮件服务器新手指南(mailplus server套件)


然后进入你的域名解析管理页面,建一个A记录,主机记录就是你准备给邮件服务器用的子域名,在这里我们通常设为mail,还是那句话,你高兴就好,设啥都行,我只是用mail来举例。记录值就是我们刚查到的IP,全部设置好以后我们就可以通过mail.abc.com来访问我们的邮箱。

群晖搭建邮件服务器新手指南(mailplus server套件)


题外话:同样,还可以增加一个A主记录,用来访问你的群晖服务器。比如我就增加了个nas子域名,用nas.abc.com来访问我的群晖。当然这个和搭建邮件服务器无关。

然后我们需要增加一个MX记录,如果不增加,你就接收不到其他人给你发的邮件了

群晖搭建邮件服务器新手指南(mailplus server套件)


到此,我们域名解析方面的工作就完成了。

第三步 将你的动态公网IP绑定到你的域名解析上

我们虽然找宽带服务商要到了公网IP,但是这个IP并不是固定IP,每一次断网或过一段时间,这个公网IP地址都可能发生改变,这个时候我们就要不断检查自己的IP,并同步到我们的域名解析上。幸好我们有程序帮忙,让我们不至于IP变化了就得跑到域名解析平台上去手动重新解析。这个时候我们就需要用到我们之前申请到的AccessKey了。

进入群晖,点击控制面板----任务计划---新增--用户定义的脚本

群晖搭建邮件服务器新手指南(mailplus server套件)

任务名称随意改任务名称随意改

任务名称可以随便设这里我是10分钟运行一次,可以看自己需要。它的作用是每10分钟检查一下IP是否改变这里我是10分钟运行一次,可以看自己需要。它的作用是每10分钟检查一下IP是否改变
运行频率我选的是10分钟,它的意思是这个脚本每10分钟运行一次。你们可以根据自己需要随意设

这个地方要注意的是,mail是我们刚才设置的子域名,abc.com是我们申请的域名,你们对照自己的域名设置就行。下面的是我们之前申请的AccessKey ID 和 AccessKey Secret,我让你们记到了记事本中,去复制过来粘贴在这里这个地方要注意的是,mail是我们刚才设置的子域名,abc.com是我们申请的域名,你们对照自己的域名设置就行。下面的是我们之前申请的AccessKey ID 和 AccessKey Secret,我让你们记到了记事本中,去复制过来粘贴在这里

下面就是脚本全文,你们改好后复制到上面的脚本框中,点击确定就行了

脚本全文:


#!/bin/sh

aliddns_name="nas"

aliddns_domain="clun.vip"

aliddns_ak="LTAI4FwwU6BeY8jurhUZso6e"

aliddns_sk="dN8gsBEnlOjgKgh2VvrU05puUczM9N"

aliddns_curl="curl -s whatismyip.akamai.com"

aliddns_dns="8.8.8.8"

aliddns_ttl="600"

ip=`$aliddns_curl 2>&1`

current_ip=`nslookup $aliddns_name.$aliddns_domain $aliddns_dns 2>&1`

if [ "$?" -eq "0" ]

then

current_ip=`echo "$current_ip" | grep 'Address 1' | tail -n1 | awk '{print $NF}'`

if [ "$ip" = "$current_ip" ]

then

exit 0

fi

fi

timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`

urlencode() {

# urlencode <string>

out=""

while read -n1 c

do

case $c in

[a-zA-Z0-9._-]) out="$out$c" ;;

*) out="$out`printf '%%%02X' "'$c"`" ;;

esac

done

echo -n $out

}

enc() {

echo -n "$1" | urlencode

}

send_request() {

local args="AccessKeyId=$aliddns_ak&Action=$1&Format=json&$2&Version=2015-01-09"

local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddns_sk&" -binary | openssl base64)

curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"

}

get_recordid() {

grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'

}

query_recordid() {

send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddns_name.$aliddns_domain&Timestamp=$timestamp"

}

update_record() {

send_request "UpdateDomainRecord" "RR=$aliddns_name&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip"

}

add_record() {

send_request "AddDomainRecord&DomainName=$aliddns_domain" "RR=$aliddns_name&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip"

}

if [ "$aliddns_record_id" = "" ]

then

aliddns_record_id=`query_recordid | get_recordid`

fi

if [ "$aliddns_record_id" = "" ]

then

aliddns_record_id=`add_record | get_recordid`

echo "added record $aliddns_record_id"

else

update_record $aliddns_record_id

echo "updated record $aliddns_record_id"

fi


到现在我们就把自己的公网IP和域名解析绑定好了。我这是以阿里云为例,如果是在其他地方申请的域名,要么迁移到阿里云,要么自己改脚本,呵呵群晖搭建邮件服务器新手指南(mailplus server套件)

第四步 安装mailplus server和mailplus套件

进入群晖,套件中心,安装mailplus server和mailplus套件就不需要我废话了吧

安装完后,点开mailplus server,第一次打开会出来设置向导,按图依次操作

群晖搭建邮件服务器新手指南(mailplus server套件)

域名就输入我们申请的域名,点下主机名会自动在前面加上mail,如果没自动填上就自己输域名就输入我们申请的域名,点下主机名会自动在前面加上mail,如果没自动填上就自己输

群晖搭建邮件服务器新手指南(mailplus server套件)

完成后会弹出一个窗口,我们点进去改成中等兼容模式,当然不改也可以,但有些邮件客户端可能连不上

群晖搭建邮件服务器新手指南(mailplus server套件)

勾选中等兼容性后点应用保存起来勾选中等兼容性后点应用保存起来

点击服务把这些全部勾选点击服务把这些全部勾选

在帐号中把要开通邮件的用户名激活,这我们以用户good为例,为它激活件服务

群晖搭建邮件服务器新手指南(mailplus server套件)

最后我们到控制面板,用户账户中,看看用户good,有没有给予mailplus应用程序权限。

群晖搭建邮件服务器新手指南(mailplus server套件)

如果有,到此为止,我们就建立了一个邮件服务器,并给其中一个叫good的用户开通了邮件服务。

铛铛铛,现在我们只差最后一部就大功圆满了。

打开控制面板选择应用程序门户,找到mailplus,选择编辑

群晖搭建邮件服务器新手指南(mailplus server套件)

在自定义域中输入我们之前解析的域名,mail.abc.com在自定义域中输入我们之前解析的域名,mail.abc.com

现在就可以访问mail.abc.com进入我们的邮箱登录界面了

群晖搭建邮件服务器新手指南(mailplus server套件)

从此,你就有一个自己完全控制的邮件服务器了,以后电子邮箱想设啥名就啥名,开不开心,快不快乐,有没有一种邮箱在手天下我有的感觉(此处应来一段无敌是多么多么寂寞,无敌是多么多么空虚的背景音乐群晖搭建邮件服务器新手指南(mailplus server套件)

展开 收起
46评论

  • 精彩
  • 最新
  • nas不能提供任何对公网web服务,上海深圳已经开始了,小心点吧。

    校验提示文案

    提交
    这么说建站也不行了

    校验提示文案

    提交
    无非是封端口的问题,自己改端口就是了

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • 我晕,家里的nas咋访问,介是掐脖子了

    校验提示文案

    提交
    办法总比困难多

    校验提示文案

    提交
    有个最大的问题是,foxmail无法登录,希望有解决方案

    校验提示文案

    提交
    收起所有回复
  • 前面都成功了,就是最后mail. 域名,没法直接打开邮箱界面,正在琢磨哪里弄错了。

    校验提示文案

    提交
  • 1目前在封web外访
    2即便你做了你邮箱还得维护反垃圾邮件联盟,否则你的邮箱很有可能被别人当垃圾邮件处理

    校验提示文案

    提交
  • 想问下,各种设置完了,使用的是mail server不是mailplus,可以发送邮件,但是收邮件的时候,qq邮箱显示退回,提示:said: 554 5.7.1 : Relay access denied (in reply to RCPT TO command)。像这种情况怎么解决啊。求助了

    校验提示文案

    提交
  • 提示安装了perl套件,mailplus server套件停用,怎么解决

    校验提示文案

    提交
  • 标记一下zsbd

    校验提示文案

    提交
  • 最后一步为什么不采用固定端口呢,自定义域无法发访问的

    校验提示文案

    提交
  • MailPlus套件配置的时候提示无法访问数据库

    校验提示文案

    提交
  • 个人用户没啥用啊

    校验提示文案

    提交
  • 想玩搞台机器开SMTP和POP3服务就行 NAS搞这么复杂吃饱了撑的

    校验提示文案

    提交
  • 在用阿里云域名送的企业邮

    校验提示文案

    提交
  • 深圳联通目前还没封啊,以后只能VPN连到家里了吗 [小怒]

    校验提示文案

    提交
  • 有个最大的问题是,foxmail无法登录!!!

    校验提示文案

    提交
  • 请教:Mx记录值无法输入ip地址

    校验提示文案

    提交
    改成你的域名。

    校验提示文案

    提交
    mx输入域名,a记录输入IP

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 想不被其他的邮件商拒收,还要在域名解释设置里面设置一下,如果有主机记录@记录类型TXT记录值v=spf,那就修改阿里云网址那块就行了,按照作者的域名就改成mail.abc.com。等10分钟后再发信给邮件商,去垃圾箱把你发的邮件修改成不是垃圾邮件,以后就能正常的收发信了。

    校验提示文案

    提交
    能具体说一下么?没太懂。

    校验提示文案

    提交
    收起所有回复
  • 现在最大的问题是,可以发不能收。郁闷。有没有什么办法吗?

    校验提示文案

    提交
    那就是pop3设置有问题

    校验提示文案

    提交
    收起所有回复
  • 設定了排程但断線了就連不上了 [喜极而泣]

    校验提示文案

    提交
  • 启用别名可以外网打开邮箱页面,但二级域名打不开,是不是要加端口号?是应该哪个端口号打开?

    校验提示文案

    提交
  • 搭建成功了,但是因为种种问题,收发邮件不稳定,有时候发送邮件失败,接受不到邮件,各位大神有啥解决办法吗。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
307
扫一下,分享更方便,购买更轻松