这篇Raspberry Pi电子邮件服务器教程将带你了解如何设置自己的电子邮件服务器,成本低廉,又相对通用。
在Pi上建立个人服务器的原因很多,其中之一就是它的成本低。初始成本很低,由于树莓Pi的低功耗,持续的支出也相对较低。
设置Raspberry Pi电子邮件服务器还有其他一些优势,比如可以使用自定义域名,并完全控制自己的个人通信。由于电子邮件存储在您自己的个人服务器上,没有人能扫描它们。
设置自己的电子邮件服务器的另一个伟大的原因是,它是一个很好的学习机会,它要正确配置很多东西。这可能很难设置,因为有相当多的事情可能会出错,如果你是一个初学者,那么故障排除可能会有点令人沮丧。
软件本身的安装超级简单,但第一次要想完美地工作,配置起来会很困难,所以我把这个项目标记为中等难度。
如果你打算发送电子邮件,你需要确保你的ISP没有屏蔽端口25。这种封锁是很常见的,但如果要求的话,通常可以解除封锁。
设备清单
下面是树莓派电子邮件服务器教程用到的所有设备,点击链接可直达特别优惠购买。
建议:
可选:
安装 Citadel 电子邮件服务器
和几乎所有的教程一样,我运行的是Raspbian的默认安装。如果你需要安装它,那么一定要查看我的Raspbian安装指南。
在树莓派上安装电子邮件服务器有几种方法,其中最复杂的方法是分别安装Postfix和Dovecot,然后安装一个web前端。这些组件中的每一个都必须单独配置,工作量很大,配置也相当耗时。
然而,在我们的教程中,我们将使用一个名为Citadel的软件包。它是一个易于设置、功能强大而又通用的邮件服务器。它极大地简化了建立电子邮件服务器的过程,并且不需要大量的配置就可以启动和运行。最重要的是它是一个100%开源的软件。
1. 首先,运行以下两个命令来更新和升级操作系统上的所有软件包。
sudo apt update
sudo apt upgrade
2. 接下来,在Raspberry Pi上安装编译Citadel软件所需的包。
我们将在本地编译Citadel,因为从Raspbian仓库提供的构建可能存在各种问题。
sudo apt install build-essential curl g++ gettext shared-mime-info libssl-dev zlib1g-dev
3. 现在是时候开始Citadel的安装过程了,可以运行下面的命令轻松完成。
curl https://easyinstall.citadel.org/install | sudo bash
此命令将运行 Citadel 开发团队提供的脚本。这个脚本将下载、安装和配置我们在Raspberry Pi上运行Citadel软件所需的一切。如果您想自己查看这个脚本,您可以直接去Citadel Easy Install网站。
4. 当提示接受条款和条件时,按Y键,然后按ENTER键继续。
5. 下一步,您将被问及是否希望该脚本安装Citadel可能需要的任何附加包。再按Y,然后按ENTER继续。安装过程将需要一些时间,可以出去溜一圈再回来看看。
6. Citadel 安装完成后,您现在需要配置软件。
如果你想为管理员使用不同的用户名,你可以在这个阶段输入它。否则,你可以按ENTER键继续。
7. 现在,您将被要求为您的管理员用户输入密码。
8. 接下来,需要指定Citadel软件运行的用户。
默认情况下,如果没有指定任何用户,Citadel 将尝试在 root 用户下运行。对于这个选项,请确保输入 “citadel”。按ENTER键确认此选项的更改。
9. 在此步骤中,您可以为 Citadel 服务器输入要监听的 IP 地址。
如果您只想通过特定的 IP 地址访问 Citadel,此选项非常有用。默认情况下,Citadel 将监听所有地址。
对于这个选项,按回车键来保持默认设置。
10. 下一步是指定您希望Citadel运行的端口。
只有当您在一台服务器上运行多个 Citadel 实例时,您才应该将此从默认的 504 端口更改。
11. 现在你将被要求定义认证方法。
除非你对其他三个选项有特殊需要,否则最安全的做法是将其设置为默认的0选项。
按ENTER键继续到最后一步。
12. 在这些最后的步骤中,我们将在我们的Raspberry Pi上定义Citadel网页界面的端口。
如果你没有运行Apache等其他Web服务器,最好将HTTP设置为80端口,HTTPS设置为443端口。
另外,如果你运行的是Web服务器,可以尝试将HTTP端口设置为8080,HTTPS端口设置为8443。
额外步骤
有时候上面的步骤会抛出错误,没有创建我们需要的管理员账号,无法正确设置邮件服务器。如果你是这种情况,那么你将需要做一些额外的步骤。
1. 首先,我们需要创建netconfigs文件夹,并将所有者和组设置为citadel。
sudo mkdir /etc/citadel/netconfigs
sudo chown citadel:citadel /etc/citadel/netconfigs
2. 接下来,我们需要重新启动Citadel,以便正确应用之前的更改。我们还想重新运行设置,这样如果第一次没有正确创建管理员账户,我们就可以设置它。
sudo service citadel restart
sudo /usr/lib/citadel-server/setup
3. 当你运行设置时,它会带你通过一系列的问题,第一个是管理员的名字。将其设置为你希望的管理员账户的用户名。
4. 接下来,它会要求你设置管理员账号的密码。把这个设置成安全的,这样你就不容易被黑客攻击了。
5 您现在可以跳过其余的问题。只需按回车键即可跳过问题,不做任何更改。
设置 Citadel 电子邮件服务器
1. 现在我们需要加载Citadels的网页界面,要做到这一点,请在你最喜欢的网络浏览器中访问你的Raspberry Pi的IP地址。在我的例子中,我会去http://192.168.1.105/。
如果你手头没有Raspberry Pi的IP地址,那么你可以在Raspberry Pi的终端上输入hostname -I来获取你的本地IP地址。
使用管理员用户名和安装过程中设置的管理员密码登录。
2. 现在你应该看到的是默认的仪表盘,你可以通过打开另一个页面,点击位于右上角的 “Make this my start page“来更改主页。
现在,只需点击侧栏中的管理。
3. 现在我们在系统管理菜单中,这里有各种不同的选项,但我们要的是 “Edit site-wide configuration“,所以点击它。
4. 现在,在这个屏幕上,我们将不得不做一些改变,让一切工作。在这里,我们需要将 “Fully Qualified Domain Name“改为我们计划用于电子邮件的自定义域名。
在我们的例子中,我们将设置为mail.labno3.com。
完成后,点击 “SMTP “标签。
5. 现在在这个屏幕上记下这里提到的端口,我们需要将这些端口转发,以允许服务器通过SMTP接收邮件。完成后,按 “Save Changes“按钮,然后点击侧栏的 “Administration“。
6. 现在回到 “System Administration Menu“中,单击 “Domain names and internet mail configuration“。此选项将把我们带到我们将使用的菜单,以添加额外的域名到Citadel。
7. 现在在这个屏幕上,在 “Local host aliases“下输入你要使用的域名,然后按 “Add“按钮。完成后,点击侧栏的 “Administration“。
8. 现在,我们又回到了这个屏幕上,需要点击 “Shutdown Citadel“下的 “Restart Now“,这样可以确保我们所有的设置更改现在都会加载进来。
为您的Raspberry Pi电子邮件服务器设置DNS。
最简单的方法来设置你的DNS是利用像Cloudflare的服务。Cloudflare提供了一个稳定的DNS服务,也可以很容易地设置为也作为一个动态的DNS服务,一个额外的优势是,它还使修改DNS记录变得非常容易,更新的传播速度比大多数DNS服务快得多。
1. 在Cloudflare上进入你的域名,然后进入DNS标签。
2. 在这里你需要添加一个A名记录,指向你的网络的公共IP地址。这个记录将允许你在端口转发后访问你的webmail客户端。它也是需要的,这样我们就可以将MX记录指向它。
3. 现在添加一条MX记录,指向你在上一步设置为A记录的域名。
4. 完成这些工作后,你现在需要把之前的各个端口转发出去。如果你没有做任何修改,那么你需要转发以下端口80、25、587和465。其中最后3个端口应该是之前在SMTP设置页面中提到的SMTP端口。
如果你不确定如何在你的路由器上进行端口转发,你可以尝试按照我们的通用端口转发指南,你可以在这个网站上找到。否则在端口转发网站上查找你的路由器。
另外,如果你有一个动态的IP地址,你需要设置一个动态的DNS客户端,你可以按照我们的指南来设置。确保你按照设置的步骤,通过Cloudflare工作。
为您的Raspberry Pi电子邮件服务器设置SpamAssassin
现在我们将通过设置Spamassassin,这是一个处理筛选垃圾邮件的工具。它是安装在任何私人电子邮件服务器上的重要工具。它将给Raspberry Pi增加一点工作量,但它应该能够处理得很好。
1. 首先,运行以下命令从官方包中安装Spamassassin。Spamassassin的安装过程可能会花费一些时间,因为它要编译几样东西。
sudo apt-get install spamassassin
2. Spamassassin安装完成后,我们现在需要对它的配置进行一些修改,运行以下命令编辑第一个配置文件。
sudo nano /etc/spamassassin/local.cf
3. 更新下面提到的行,使它们与我们所写的一致,如果这些行中有任何一行前面有一个#,那么就把它删除。我们将解释每一行的作用以及为什么你应该启用它们。
这一行使Spamassassin修改垃圾邮件的主题头,加入SPAM和Spamassassin系统给它的垃圾邮件分数。
rewrite_header Subject [***** SPAM _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 nano /etc/default/spamassassin
这一行允许一个cron作业自动更新Spamassassin规则。
CRON=1
保存后按Ctrl+X再按Y键退出文件。
5. 下一个命令将使spamassassin服务在启动时启动。
sudo update-rc.d spamassassin enable
6. 现在我们可以使用以下命令启动Spamassassin守护进程。
sudo service spamassassin start
7. 我们现在需要进入Citadels网页界面,回到管理界面。
8. 回到这里后,我们需要进入 “域名和Internet邮件配置”。
9. 现在我们在这里,我们需要在 “SpamAssassin Hosts “下输入IP地址,127.0.0.1。输入完毕后,我们按 “添加 “按钮就可以了。
为Citadel设置ClamAV
现在进入树莓派电子邮件服务器安装指南的最后一部分,我们将设置和安装ClamAV软件。这款软件将扫描所有收到的邮件是否有病毒,并帮助保护你的Raspberry Pi不被感染。
1. 安装ClamAV非常简单,因为它已经包含在Debian软件包中,我们只需运行以下命令即可安装。
sudo apt-get install clamav
2. 现在我们要让ClamAV下载最新版本的病毒数据库,我们可以通过运行以下命令来实现。
sudo freshclam
你可能会遇到下面的错误,但我们可以处理。
ERROR: /var/log/clamav/freshclam.log is locked by another process
为了处理这个错误,我们需要停止clamav,我们可以通过运行下面的命令来实现。然后重新运行sudo freshclam。
sudo service clamav-freshclam stop
3. 更新完成后,运行以下命令。
sudo service clamav-freshclam start
4. 现在用systemctl启用ClamAV,这样就能保证它在启动时启动。
sudo systemctl enable clamav-freshclam
5. 我们现在需要进入Citadels网页界面,回到管理界面。
6. 回到这里后,我们需要进入 “域名和Internet邮件配置”。
7. 现在我们在这里,我们需要在 “ClamAV clamd hosts “下输入IP地址,127.0.0.1。输入完毕后,我们就可以按 “添加 “按钮了。
希望现在,你已经有了一个功能齐全的电子邮件服务器,你能够成功地连接到。
更新电子邮件地址
如果您需要更新您的用户账户的电子邮件地址,那么当您登录到您所选择的用户时,可以在高级菜单中找到。
2. 在 “primary internet email address “下更新你的电子邮件地址,你还可以更新其他东西,如你的显示名称和你想为这个帐户连接的其他电子邮件地址(互联网电子邮件别名)。
3. 完成后,选择保存更改。
疑难解答
在做这个教程的时候,你可能会遇到不少问题,有的很容易解决,有的则比较困难。
- 有些 ISPS 会封锁端口 25,这意味着当您发送电子邮件时,它们会失败。要解决这个问题,您需要解开端口封锁,或者设置 citadel 使用 ISP 的 SMTP 服务器。您可以在这里找到更多关于出站电子邮件被卡住的信息。
- 如果你没有收到电子邮件,那么这可能意味着你的DNS没有正确配置。回到您的DNS被管理的地方,查看信息。
我希望本教程已经向你展示了如何设置Raspberry Pi电子邮件服务器,并且你没有遇到任何问题。如果你有一些反馈或遇到任何问题,请不要犹豫,在下面留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派发电子邮件,详细步骤使用Citadel搭建电子邮件服务器