这个树莓派电子邮件服务器教程将带您逐步了解如何设置自己的低成本且功能相对广泛的电子邮件服务器。
在 Pi 上设置个人服务器的众多原因之一是其低成本。初始成本很低,并且由于树莓派的低能耗,持续的费用也相对较低。
设置树莓派电子邮件服务器还有其他一些优点,例如能够使用自定义域名并完全控制自己的个人通信。
由于您的电子邮件存储在自己的个人服务器上,因此您将没有人扫描它们,因此他们可以尝试向您展示更好的广告。您可以将其与 Apache Web 服务器一起运行以进行完整设置。
设置自己的电子邮件服务器的另一个重要原因是,正确配置所有内容时,这是一种很好的学习体验。设置起来可能很困难,因为有很多地方可能会出错,如果您是初学者,那么故障排除可能会有些令人沮丧。
该软件本身非常易于安装,但是很难在首次配置时就使其完美运行,因此我将此项目标记为中等难度。
如果您打算发送电子邮件,则需要确保您的 ISP 不会阻塞端口 25 。此阻塞是很常见的,但如果需要,通常可以将其取消阻塞。
设备清单
您可以找到我为树莓派电子邮件服务器教程推荐的所有设备。您确实不需要太多,所以它应该是一个不错的廉价项目。
推荐的
树莓派 2 或 3
Micro SD 卡
Ethernet Cord 或 * Wifi dongle (Pi 3 内置 WiFi) )
可选的
树莓派外壳
USB 键盘
USB 鼠标
安装城堡电子邮件服务器
与几乎所有教程一样,我正在运行 Raspbian 的默认安装。如果您需要安装它,那么一定要查看我的 Raspbian 安装指南。
有几种方法可以在树莓派上安装电子邮件服务器,最复杂的方法之一是分别安装 Postfix 和 Dovecot ,然后再安装 Web 前端。这些组件中的每一个都必须分别进行配置,并且可能花费大量时间才能正确设置。
但是,在我们的教程中,我们将使用 Citadel 软件包。它是易于安装,功能强大但用途广泛的邮件服务器。它极大地简化了设置电子邮件服务器的过程,并且不需要进行大量配置即可启动和运行它。最好的是它是 100 %的开源软件。
1 首先,我们通过运行以下两个命令来更新和升级操作系统上的所有软件包。
sudo apt update
sudo apt upgrade
2 接下来,让我们在树莓派上安装编译 Citadel 软件所需的软件包。
我们将在本地编译 Citadel ,因为 Raspbian 存储库提供的构建可能会出现各种问题。
sudo apt install必要的 curl g ++ gettext shared-mime-info libssl-dev zlib1g-dev
3 现在是时候开始 Citadel 的安装过程了,我们可以使用以下命令轻松地完成安装。
卷曲 https ://easyinstall.citadel.org/install | sudo bash
此命令将运行 Citadel 开发团队提供的脚本。
该脚本将下载,安装和配置在树莓派上运行 Citadel 软件所需的一切。
如果要自己查看此脚本,可以直接转到 Citadel Easy Install 网站。
4 当提示您接受条款和条件时,请按 Y ,然后按 ENTER 键继续。
5 接下来,系统将询问您是否要脚本安装 Citadel 可能需要的任何其他软件包。
再次按 Y ,然后按 ENTER 继续。
安装过程将需要一些时间,因此现在是您在树莓派工作时去喝咖啡的好时机
6 Citadel 安装完成后,您现在需要配置软件。
首先,将要求您为管理员用户设置用户名。默认情况下,该用户将被称为”admin”。
如果要为管理员使用其他用户名,则可以在此阶段输入。否则,您可以按 ENTER 键继续。7 现在,系统将要求您输入管理员用户的密码。
默认密码是 citadel
。我们强烈建议您将其更改为更安全的内容。
8 接下来,我们需要指定要在其下运行的 Citadel 软件的用户。
默认情况下,如果未指定,则 Citadel 将尝试在”root” 用户下运行。
对于此选项,请确保输入”citadel
“。按 ENTER 键确认此选项更改。
9 在此步骤中,您可以输入要监听的 Citadel 服务器的 IP 地址。
如果仅希望通过特定 IP 地址访问 Citadel ,则此选项很有用。默认情况下,Citadel 将侦听所有地址。
对于此选项,我们将按 ENTER 保留默认设置。
10 下一步是指定要让 Citadel 运行的端口。
仅当在一台服务器上运行多个 Citadel 实例时,才应从默认端口 504 更改此设置。
11 现在,将要求您定义身份验证方法。
除非您特别需要其他三个选项,否则最安全的做法是将其设置为默认的”0” 选项。
按 ENTER 键继续进行最后一步。
12 在这些最后步骤中,我们将为树莓派上的 Citadel Web 界面定义端口。
如果您未运行其他 Web 服务器 (例如 Apache),则最好将 HTTPHTTP 设置为端口 80 ,将 HTTPS 设置为端口 443 。
另外,如果您正在运行网络服务器,请尝试将 HTTPHTTP 端口设置为 8080 ,将 HTTPS 端口设置为 8443 。
额外步骤
有时,上述步骤会引发错误,并且无法创建我们需要正确设置电子邮件服务器的管理员帐户。如果您遇到这种情况,那么您将需要执行一些额外的步骤。
1 首先,我们需要创建 netconfigs 文件夹,并将所有者和组设置为 citadel 。
sudo mkdir /etc/citadel/netconfigs
sudo 町城堡:城堡/etc/citadel/netconfigs
2 接下来,我们需要重新启动 Citadel ,以便正确应用先前的更改。我们还希望重新运行安装程序,以便我们可以在第一次没有正确创建管理员帐户的情况下对其进行设置。
sudo service城堡重启
sudo /usr/lib/citadel-server/setup
3 运行设置时,它将带您回答一系列问题,第一个是 admin 的名称。将此设置为您希望用于管理员帐户的用户名。
4 接下来,它将要求您设置管理员帐户的密码。将此设置为安全的东西,以免被黑客入侵。
5 您现在可以跳过其余的问题。只需按 Enter 键即可跳过问题,并且不做任何更改。
设置城堡电子邮件服务器
1 现在,我们需要加载 Citadels 网络界面,然后通过您喜欢的网络浏览器访问树莓派的 IP 地址。就我而言,我将转到”http://192.168.1.105/"。
如果您手边没有树莓派的 IP 地址,则可以在树莓派的终端中键入” 主机名 - I” 以获取您的本地 IP 地址。
使用在安装过程中设置的管理员用户名和管理员密码登录。
2 您现在应该看到默认的仪表板,可以通过打开另一个页面并单击右上角的” 将其设为我的开始页面” 来更改主页。现在,只需点击侧边栏中的” 管理” 即可。
3 现在我们在系统管理菜单中,这里有各种各样的选项,但我们要做的是” 编辑站点范围的配置”,因此请单击。
4 现在,在此屏幕上,我们将需要进行一些更改以使所有功能正常运行。在这里,我们需要将” 完全合格的域名” 更改为计划用于电子邮件的自定义域。在我们的例子中,我们将其设置为 mail.pimylifeup.com
完成后,单击”SMTP” 选项卡。
5 现在,在此屏幕上记下此处提到的端口,我们将需要进行端口转发以允许服务器通过 SMTP 接收电子邮件。完成后,按” 保存更改” 按钮,然后单击侧栏中的” 管理”。
6 现在返回” 系统管理菜单”,单击” 域名和 Internet 邮件配置”。此选项将带我们进入菜单,我们将使用该菜单向 Citadel 添加其他域名。
7 现在,在此屏幕上的” 本地主机别名” 下,键入要使用的域名,然后按” 添加” 按钮。完成后,单击边栏中的” 管理”。
8 现在我们回到了此屏幕,需要单击” 关闭城堡” 下的” 立即重新启动”,以确保现在将所有设置更改都载入其中。
为您的树莓派电子邮件服务器设置 DNS
设置 DNS 的最简单方法是利用 Cloudflare 之类的服务。 Cloudflare 提供了稳定且冗余的 DNS 服务,也可以轻松设置为动态 DNS 服务,这对于位于动态 IP 地址后面的任何人都非常有用。
另一个优点是,它还使修改 DNS 记录变得异常容易,并且更新的传播速度比大多数 DNS 服务快得多。
1 在 Cloudflare 上转到您的域名,然后转到 DNS 选项卡。
2 在这里,您需要添加一个指向您网络的公共 IP 地址的 A 名称记录。通过此记录,您可以在转发端口后访问 Webmail 客户端。也需要它,因此我们可以将 MX Record 指向它。
3 现在,添加一个 MX 记录,该记录指向您在上一步中设置为 A 记录的域名。
4 完成所有操作后,您现在需要移植之前的各个端口。如果您没有进行任何更改,则需要将以下端口 80 、 25 、 587 和 465 进行端口转发。这些端口中的最后 3 个应该是您之前在 SMTP 设置页面中提到的 SMTP 端口。
如果不确定如何在路由器上进行端口转发,则可以尝试按照我们在本网站上找到的通用端口转发指南进行操作。 。否则,请在端口转发网站上查找路由器。
另外,如果您具有动态 IP 地址,则需要设置动态 DNS 客户端,可以按照我们的指南进行设置。确保按照设置进行操作以通过 Cloudflare 进行操作。
为您的树莓派电子邮件服务器设置 SpamAssassin
现在,我们将设置 Spamassassin ,这是用于处理通过 SPAM 进行筛选的工具。它是已安装在任何私人电子邮件服务器上的关键工具。它将为树莓派增加更多的工作量,但应该能够很好地处理它。
1 首先,通过运行以下命令从官方软件包中安装 Spamassassin 。 Spamassassin 的安装过程可能会花费一些时间,因为它必须编译几件事。
sudo apt-get install spamassassin
2 安装 Spamassassin 之后,我们现在需要对其配置进行一些更改,运行以下命令以编辑第一个配置文件。
sudo vim /etc/spamassassin/local.cf
3 更新下面提到的行,以使它们匹配我们写的内容 (如果其中任何行前面带有 #),然后将其删除。我们将解释每行的功能以及为什么要启用它们。
此行使 Spamassassin 修改垃圾邮件的主题标头,以包含 SPAM 和 Spamassassin 系统已为其分配的垃圾邮件分数。
rewrite_header主题[*垃圾邮件_SCORE_ *]
此行告诉 Spamassassin 仅修改电子邮件的标头,而不对实际正文进行任何更改。
report_safe 0
将要求的分数设置得较低意味着您一开始会收到很多误报,但这将帮助您教会 Spamassassin 知道哪些电子邮件是好的,哪些电子邮件是不好的。
required_score 2.0
下一行将 Spamassassin 设置为使用贝叶斯过滤器。贝叶斯方法是一种估计电子邮件是否为垃圾邮件的可能性的方式。这是一种常用的方法,随着样本量的增加而改善。
use_bayes 1
下一行打开贝叶斯过滤的自动学习功能。
bayes_auto_learn 1
完成所有操作后,只需按 Ctrl + X,然后按 Y ,然后按 Enter ,即可保存并退出文件。
4 现在,我们需要编辑一个最终文件以完成 Spamassassin 的设置,运行以下命令。
sudo vim /etc/default/spamassassin
此行允许执行 cron 作业自动更新 Spamassassin 规则。
CRON = 1
按 Ctrl + X,然后按 Y 保存并退出文件。
5 下一条命令将使 spamassassin 服务在启动时启动。
sudo update-rc.d spamassassin启用
6 我们现在可以使用以下命令启动 Spamassassin 守护程序。
sudo service spamassassin 开始
7 现在,我们需要转到 Citadels Web 界面并返回到” 管理” 屏幕。
8 一旦回到这里,我们需要转到” 域名和 Internet 邮件配置”。
9 现在我们在这里,我们需要在”SpamAssassin 主机” 下键入 IP 地址”127.0.0.1”。输入后,我们只需按” 添加” 按钮。
为城堡设置 ClamAV
现在进入树莓派电子邮件服务器安装指南的最后一部分,我们将要设置并安装 ClamAV 软件。该软件将扫描您所有传入的电子邮件中是否包含病毒,并有助于保护您的树莓派免受感染。
1 安装 ClamAV 非常简单,因为它已经包含在 Debian 软件包中,我们可以运行以下命令进行安装。
sudo apt-get install clamav
2 现在,我们希望 ClamAV 下载其病毒数据库的最新版本,我们可以通过运行以下命令来完成此操作。
sudo 新鲜蛤
您可能会遇到以下错误,但我们可以解决:
错误:/var/log/clamav/freshclam.log被另一个进程锁定
要处理此错误,我们需要停止 clamav ,可以通过运行以下命令来完成此操作。然后重新运行 sudo freshclam。
sudo service clamav -freshclam停止
3 更新完成后,运行以下命令。
sudo service clamav -freshclam开始
4 现在通过 systemctl 启用 ClamAV ,因此可以确保在启动时启动。
sudo systemctl启用 clamav -freshclam
5 现在,我们需要转到 Citadels Web 界面并返回到” 管理” 屏幕。
6 一旦回到这里,我们需要转到” 域名和 Internet 邮件配置”。
7 现在我们在这里,我们需要在”ClamAV clamd hosts” 下输入 IP 地址 127 .0.0.1 输入后,我们只需按” 添加” 按钮。
希望到现在,您将拥有一个功能齐全的电子邮件服务器,可以成功连接到该服务器。
更新您的用户帐户的电子邮件地址
如果您需要更新用户帐户的电子邮件地址,那么当您登录到所选用户时,可以在高级菜单中找到该地址。
1 转到高级,然后在此屏幕上选择” 更新您的联系信息”。
2 在” 主要 Internet 电子邮件地址” 下更新您的电子邮件地址,您还可以更新其他内容,例如您的显示名称和该帐户要连接的其他电子邮件地址 (Internet 电子邮件别名)。
3 完成后,选择保存更改。
故障排除
在进行本教程时,您可能会遇到很多问题,其中一些问题很容易解决,而其他问题则有些困难。
* 一些 ISPS 将阻塞端口 25 ,这意味着当您发送电子邮件时,它们将失败。要解决此问题,您将需要使端口畅通无阻或设置要使用 ISP 的 SMTP 服务器的城堡。您可以找到有关 [停留在此处的出站电子邮件] 的更多信息 (http://www.citadel.org/doku.php/faq:troubleshooting:outbound_mail)。
* 如果您没有收到电子邮件,则可能表明您的 DNS 配置不正确。返回到您的 DNS 管理位置并查看信息。
希望本教程向您展示了如何设置树莓派电子邮件服务器,并且不会遇到任何问题。对于任何希望建立一个可以完全控制的廉价电子邮件服务器的人来说,这无疑是一个伟大的项目。如果您有任何反馈意见,建议或遇到任何您想分享的问题,请与我联系。