首页 > 其他分享 >【转载】群晖搭建邮件服务器新手指南(mailplus server套件)

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

时间:2023-09-13 10:59:21浏览次数:41  
标签:mailplus IP AccessKey server record 域名 群晖 aliddns 邮件

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

本文转载自:https://post.smzdm.com/p/akmr2mn8/?ivk_sa=1024320u

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

群晖最近推出来的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套件) )

标签:mailplus,IP,AccessKey,server,record,域名,群晖,aliddns,邮件
From: https://www.cnblogs.com/soliang/p/17698917.html

相关文章

  • 通过SQL Server操作MySQL(下)—— 操作MySQL
    查询MySQL语句select*fromopenquery(TestMySQL,'select*fromtest.TestTable');向MySQL表中插入数据insertintoopenquery(TestMySQL,'select*fromtest.TestTable')select1,'TestName';删除MySQL表中的数据deletefromopenquery(TestMyS......
  • 【SQL Server】通过SQL Server操作MySQL(上)——连接MySQL服务器
    http://t.zoukankan.com/xd502djj-p-3104191.html 在多种数据库环境下,经常会遇见不同数据库之间转换数据或进行互相操作的情况。以下简要介绍下用SQLServer操作MySQL的步骤和方法。安装MySQL驱动想要在SQLServer中操作MySQL,首先要在SQLServer所在的服务器上安装MySQL的驱......
  • js 浏览器的5种observer 第五种 ReportingObserver 详解及使用方法
     在前端开发中,对于浏览器的报告信息,例如弃用的API使用、浏览器的干预、CSS特性使用情况等,我们常常需要一种机制来收集和处理。这时,ReportingObserverAPI就发挥了它的作用。什么是ReportingObserver?//ReportingObserver是一个浏览器API,它可以用来监听来自浏览器的各......
  • js 浏览器的5种observer 第三种 ResizeObserver 详解及使用方法
     ResizeObserver它允许开发者监听元素的尺寸变化。在前端开发中,元素尺寸的变化可能会受到许多因素的影响,例如窗口大小调整、设备方向变化、内部内容变化等。提供了一种高效的方法来响应这些变化,而不需要频繁使用事件监听器或轮询技术。1.使用方法constro=newResizeOb......
  • js 浏览器的5种observer 第一种 MutationObserver 详解及使用方法
     MutationObserver提供了监听DOM树变化的能力。从简单的UI变更追踪到复杂的SPA页面变化都有涉及。可以追踪DOM树的变化,包括节点的增加、删除、属性的修改等。它是异步的,这意味着它会将所有的DOM变化集合起来一次性报告,而不是在每一次变化后立刻报告。兼容性Mutat......
  • js 浏览器的5种observer 第二种 IntersectionObserver 详解及使用方法
     IntersectionObserver是一个现代的浏览器API,允许开发者在某个元素与其祖先元素或顶层文档视口发生交叉时得到通知。它非常适合实现图片懒加载、无限滚动、广告曝光率等功能。1.浏览器的兼容性IntersectionObserver目前在大多数现代浏览器中都得到了支持。但是在一些老版......
  • SQL SERVER----使用日期格式化,及GETDATE()、CONVERT()函数
    SQLSERVER中日期格式化,及GETDATE()、CONVERT()函数使用说明 1.date和datetime类型的区别date是SQLServer2008新引进的数据类型。它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。dateTime日期和时间部分......
  • Jmeter ServerAgent 修改端口,linux
     编辑serverAgent.sh,在后面加上  --udp-port端口--tcp-port端口比如  参考:https://blog.csdn.net/lemon_linaa/article/details/89963904......
  • Kubernetes 集群的优化 节点配额和内核参数调整 自动增加etcd节点 Kube APIServer 配
    一、节点配额和内核参数调整对于公有云上的Kubernetes集群,规模大了之后很容器碰到配额问题,需要提前在云平台上增大配额。这些需要增大的配额包括:虚拟机个数vCPU个数内网IP地址个数公网IP地址个数安全组条数路由表条数持久化存储大小参考gce随着node节点的增加master节点的配......
  • SQL SERVER 自动备份及自动清除设置
    一、打开管理,找到维护计划,右键选择“维护计划向导”;二、修改计划名称,维护备份说明(可为空),点击“更改”按钮; 三、选择计划类型:“自动执行”,频率设置“每天”,设置执行计划时间,点击“确定” 四、此时计划项已有作业计划,点击“下一步”; 五、维护任务,勾选“备份数据库(完整)”,......