0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

零成本自建邮箱!手把手教你用树莓派打造 24h 在线私人邮件服务器!

上海晶珩电子科技有限公司 ? 2025-08-16 16:16 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言:

很多人一直以为树莓派(Raspberry Pi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮 LED、跑个 Python 脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:树莓派已经悄悄完成了从“教学演示”到“工业级主力”的华丽转身,正在产线、机房、实验室甚至外太空里 7×24 小时不间断服役。下面这几篇文章或许会让你彻底刷新对树莓派的固有印象:

树莓派的高光时刻!上海晶珩使用「树莓派」实现工业级HMI!

2025年树莓派最值得关注的事,树莓派CM5工业级进化!

老工厂逆袭记:破旧工厂加块屏,直接进击工业 4.0

这个工业触摸屏,一开始我是拒绝的,用了之后就真香了...

树莓派 PLC 提供「控制+采集+通信」三位一体的开放式解决方案!

把树莓派CM5塞进IP65相机?树莓派硬核工业相机形态曝光!

树莓派5/CM5秒变工业大脑,CODESYS+实时内核驾驭复杂产线!

树莓派官方没告诉你的散热黑科技

传统PLC计数模块为何被淘汰?

一块树莓派CM5抗下整条产线?工业计算机主板全面解析!


让我们开始今天的内容!

为何使用树莓派作为邮件服务器?

搭建树莓派邮件服务器是一种实用方式,既能让你全面掌控自己的邮件系统,又能学习必要的服务器管理技能。本完整分步指南将带你完成整个过程。树莓派邮件服务器为运行个人或小型邮件服务器提供了一个轻量、节能且经济高效的平台。尽管树莓派4或5体积小巧,但它具备足够的处理能力和内存,可处理个人用户、家庭或小型团队的典型邮件工作负载。其低功耗使其非常适合全天候运行,这对于运行树莓派个人或小型邮件服务器至关重要。此外,它对基于Linux操作系统提供支持,可无缝安装邮件服务器软件包。对于物联网专业人士而言,它还提供了一种安全且私密的方式,无需依赖外部SMTP中继即可启用设备通知和本地警报。

587d97c0-7a79-11f0-9080-92fbcf53809c.png

优势与注意事项

优势

? 隐私与数据所有权:所有邮件数据都保存在你自己的硬件上,第三方无法访问。

? 成本效益:无需支付托管邮件服务提供商的订阅费用。

? 可定制性:可根据特定需求定制配置、过滤规则、身份验证和加密设置。

? 最佳优势>学习机会:非常适合在网络、安全和服务器管理方面进行实践学习。

注意事项

? 技术复杂性:需要了解DNS、SSL/TLS、邮件协议和安全实践。由于DNS和IP稳定性至关重要,请参考的《树莓派静态IP设置完整指南》获取分步说明。

? 可靠性与正常运行时间:互联网连接和硬件稳定性直接影响服务可用性。

? 邮件送达率:如果没有正确的DNS记录(SPF、DKIM、DMARC),邮件可能会被标记为垃圾邮件。

? 维护需求:持续的监控、更新和备份对于确保安全和性能至关重要。为确保正确的邮件身份验证,请配置SPF、DKIM和DMARC协议——像dmarcian这样的工具提供了关于这些标准的清晰指南。https://dmarcian.com/spf-dkim-dmarc/


用例

个人邮件托管

对于希望全面掌控自己数字通信的个人而言,在树莓派上搭建自托管邮件服务器可实现私密、安全的邮件管理,无需依赖商业平台。对于重视数据主权和最小数据暴露的人来说,这尤其有用。

家庭或小型团队邮箱

单个树莓派可支持多个用户,是家庭或小型团队的经济实惠之选。可轻松管理共享域名和自定义邮箱地址,并对访问、存储和安全设置进行精细控制。

开发者与测试环境

开发构建基于邮件的应用程序的人员可以使用树莓派在受控环境中模拟生产级邮件流。在部署前,树莓派SMTP服务器设置非常适合测试SMTP配置、身份验证协议和邮件投递场景。

本地内联网消息传递

在制造工厂、学校或研究实验室等孤立网络中,树莓派邮件服务器可用于促进内部邮件通信。它无需互联网连接,可为运营连续性提供本地消息交换。


系统要求

硬件

? 树莓派4或5(推荐):4GB内存或更高。

? MicroSD卡或固态硬盘(SSD):32GB或更大。

? 稳定的互联网连接:有线以太网连接最为可靠,尤其是当服务器需要从外部访问时。

? 静态IP或动态域名系统(DDNS)设置:托管邮件服务需要稳定的网络访问;静态IP为佳,但DDNS也是一种可行的替代方案。

? 不间断电源(可选):为确保关键正常运行时间并防止因断电导致的数据损坏,建议使用基本的不间断电源或电池扩展板(HAT)。

软件

? 操作系统:树莓派操作系统Lite(64位)。Ubuntu Server for ARM等替代方案也可行。

? 邮件传输代理(MTA):Postfix——通过SMTP处理邮件的发送和接收。有关高级邮件路由、身份验证或别名设置,请参考《Postfix官方文档》获取深入的配置示例。http://www.postfix.org/documentation.html

? 邮件投递代理(MDA):Dovecot——提供IMAP和POP3服务,用于邮件检索和邮箱存储。为加强IMAP/POP3访问的安全性,请查看《Dovecot安全最佳实践》获取SSL/TLS配置提示。

? 安全工具(推荐):

SpamAssassin——过滤垃圾邮件。

ClamAV——扫描邮件中的病毒和恶意软件。

Fail2Ban——防止暴力登录尝试。

?SSL/TLS管理:Certbot(Let's Encrypt)——自动配置和更新HTTPS证书。使用《Let's Encrypt SSL证书》免费启用TLS加密,确保邮件服务器安全。https://letsencrypt.org/

? 可选网页邮件界面:Roundcube或RainLoop——基于网页的邮件客户端,可通过浏览器访问。

? DNS配置访问权限:能够通过域名注册商或托管服务提供商管理DNS记录(A、MX、SPF、DKIM、DMARC)。正确的DNS配置对于确保树莓派邮件服务器无投递问题或垃圾邮件标记至关重要。


网络与域名设置

1. 带邮件DNS记录的域名

要可靠地发送和接收邮件,你的服务器必须与一个域名相关联(例如,iot-server.com)。你需要通过域名注册商或DNS提供商配置多个DNS记录:

A记录:将邮件服务器主机名(例如,mail.iot-server.com)指向你的公网IP地址。

MX记录(邮件交换器):将发送到你域名的邮件定向到服务器。

示例:

MX10mail.iot-server.com

SPF(发件人策略框架):定义哪些IP地址被授权代表你的域名发送邮件。

示例:

v=spf1 ip4:YOUR.SERVER.IP -all

DKIM(域名密钥识别邮件):为外发邮件添加加密签名,有助于防止伪造。这需要使用公钥DKIM设置一条TXT记录。

DMARC(基于域的消息认证、报告与一致性):向接收邮件服务器提供关于如何处理未通过SPF/DKIM检查的邮件的说明。

示例:

v=DMARC1; p=quarantine; rua=mailto:admin@iot-server.com

正确的DNS设置对于防止你的邮件被标记为垃圾邮件并确保可靠的消息投递至关重要。

2. 静态公网IP或动态DNS服务

你的邮件服务器需要一个稳定的公网地址,以便互联网上的其他服务器能够访问:

静态IP(推荐):由你的互联网服务提供商提供,静态IP可确保服务器地址永不更改。

动态DNS(替代方案):如果你使用的是动态IP,像No-IP或DuckDNS这样的服务可以将你不断变化的IP映射到一个固定主机名。你的路由器或树莓派可以自动更新此记录。

如果没有静态或可靠更新的IP地址,DNS解析和邮件投递往往会失败。对于可靠的自托管邮件服务器,保持稳定的公网IP对于确保顺畅的DNS解析和邮件投递至关重要。

3. 端口转发

要允许外部流量访问树莓派的邮件服务,请在路由器上配置端口转发:

端口协议用途
25TCPSMTP - 从其他服务器接收邮件
587TCPSMTP 提交协议 - 用于经过身份验证的客户端发送邮件
993TCP基于SSL的IMAP - 安全邮件检索
80/443TCP用于网页邮箱或SSL证书相关操作

访问路由器设置,并将每个所需端口转发到树莓派的内部IP(例如,192.168.1.100)。确保本地防火墙规则(如ufw或iptables)也允许这些连接。


分步设置:树莓派邮件服务器

在开始设置树莓派邮件服务器之前,请确保使用SunFounder的官方指南《树莓派入门》。https://docs.sunfounder.com/projects/picar-s/en/latest/get_started_with_raspberry_pi.html

1. 准备树莓派

1.1. 更新系统软件包

本指南提供了一个全面的树莓派邮件服务器设置教程,包括所有所需的软件、配置步骤和安全增强措施。

sudoapt update && sudo apt upgrade -y

1.2. 设置静态IP地址

分配静态IP或配置动态DNS,以确保从互联网访问的一致性。

2. 安装和配置Postfix(SMTP服务器)

2.1. 安装Postfix

sudoapt install postfix -y

在设置过程中,选择“Internet Site”并设置你的域名(例如,mail.iot-server.com)。

58947562-7a79-11f0-9080-92fbcf53809c.png

58acd3a0-7a79-11f0-9080-92fbcf53809c.png

2.2. 编辑主配置文件

sudo nano/etc/postfix/main.cf

确保正确设置以下参数:

myhostname= mail.iot-server.commydomain= iot-server.commyorigin= /etc/mailnameinet_interfaces= allinet_protocols= ipv4mydestination=$myhostname, localhost.$mydomain, localhost

2.3. 重启Postfix

sudosystemctl restart postfix

这完成了树莓派SMTP服务器的初始设置,使其能够在互联网上发送和接收邮件。

3. 安装和配置Dovecot(IMAP/POP3服务器)

3.1. 安装Dovecot

要完成Postfix和Dovecot在树莓派上的设置,请使用以下命令安装Dovecot:

sudoapt install dovecot-core dovecot-imapd -y

3.2. 启用邮箱格式

确保Dovecot使用Maildir格式以确保兼容性:

sudo nano/etc/dovecot/conf.d/10-mail.conf

设置:

mail_location= maildir:~/Maildir

58c4913e-7a79-11f0-9080-92fbcf53809c.png

3.3. 启用并启动Dovecot

sudo systemctlenabledovecot

58dcc006-7a79-11f0-9080-92fbcf53809c.png

sudosystemctl start dovecot.

至此,你的树莓派Postfix Dovecot邮件服务器将能够处理安全的邮件发送和接收。

sudo adduser mailuser Loginasthisuser and run:

以该用户身份登录并运行:

mkdir -p ~/Maildir/{cur,new,tmp}

4. 创建邮件用户

创建一个将接收邮件的Linux用户:

sudoadduser mailuser

以该用户身份登录并运行:

mkdir -p ~/Maildir/{cur,new,tmp}

5. 使用Let's Encrypt配置SSL

5.1. 安装Certbot

sudoapt install certbot -y

5.2. 获取证书

sudo certbot certonly--standalone-d mail.iot-server.com

5.3. 配置Postfix和Dovecot使用SSL

在它们各自的配置文件中更新路径,指向:

/etc/letsencrypt/live/mail.iot-server.com/fullchain.pem/etc/letsencrypt/live/mail.iot-server.com/privkey.pem

58f4dbd2-7a79-11f0-9080-92fbcf53809c.png

6. 设置垃圾邮件和病毒过滤(可选但推荐)

6.1. 安装SpamAssassin

sudoapt install spamassassin -y

6.2. 安装ClamAV

sudoapt install clamav clamav-daemon -ysudo freshclam

使用内容过滤器或Amavis将这些工具集成到Postfix邮件流中。

7. 启用身份验证和安全设置

7.1. 使用SASL进行SMTP身份验证

安装并配置libsasl2-modules,并编辑Postfix设置以使用它。

7.2. Fail2Ban保护

sudoapt install fail2ban -y

配置过滤器以阻止SMTP和IMAP端口上重复的失败登录尝试。

8. 测试你的服务器

8.1. 发送测试邮件:

sudoapt install mailutils -yecho"Test mail from Raspberry Pi"| mail -s"Test Email"test-account@gmail.com


常见问题排查

邮件无法发送或接收

可能原因:

? 出站/入站端口被阻止(例如,端口25)。

? Postfix或Dovecot配置不正确。

? 本地防火墙限制或互联网服务提供商限制。

解决方案:

? 验证你的端口转发和防火墙规则(ufw状态、路由器设置)。

? 使用telnet或openssl s_client等工具测试SMTP和IMAP连接。

? 检查日志:sudo tail -f /var/log/mail.log

邮件被标记为垃圾邮件

可能原因:

? SPF、DKIM或DMARC DNS记录缺失或不正确。

? 动态IP或被列入黑名单的IP地址。

? 通用主机名(例如,raspberrypi.local)。

解决方案:

? 设置正确的反向DNS,并确保你的域名解析正确。

? 配置SPF、DKIM和DMARC记录。

? 使用Mail Tester等服务评估你的服务器声誉和得分。

DNS配置错误

可能原因:

? MX或A记录不正确。

? TTL值未传播。

? 拼写错误或缺少域名条目。

解决方案:

? 通过你的注册商或DNS主机仔细检查DNS设置。

? 使用dig、host或nslookup进行验证:

dig MX yourdomain.com

dig A mail.yourdomain.com

? 使用DNS传播工具确认更改已传播。

https://dnschecker.org/

? 要远程管理你的邮件服务器,你可以使用SSH——参见《掌握SSH远程控制指南》——或通过VNC设置图形界面,使用他们的完整VNC访问教程

SSL证书更新问题

可能原因:

? Certbot在更新期间无法绑定到端口80/443。

? 证书过期导致客户端连接错误。

解决方案:

? 手动更新:

sudo certbot renew--dry-run

? 检查是否有其他服务(如Nginx或Apache)占用了端口80。

? 使用计划cron作业自动化更新,并在更新后重新加载服务。


结论

在树莓派上搭建自托管邮件服务器是一项有益的项目,可让你全面掌控自己的数字通信。从管理自己的DNS记录到使用防火墙和SSL证书保护系统,这种实践方法有助于你获得服务器管理、网络和网络安全方面的宝贵技能。尽管它需要仔细配置和定期维护,但在树莓派上搭建自托管邮件服务器在隐私、成本效益和技术成长方面提供了巨大的长期利益。无论你是托管个人邮件还是学习服务器管理,树莓派Postfix Dovecot设置都为你提供了一个强大的、现实世界的项目,助你掌握开源邮件系统。一旦你的邮件服务器运行起来,请考虑设置自动备份、监控工具,并探索更高级的功能,如垃圾邮件过滤增强或邮件别名。有关更多树莓派项目,请查看我们的其他教程,涵盖搭建服务器、智能家居系统和物联网应用程序。

原文链接:

https://www.sunfounder.com/blogs/news/how-to-set-up-a-raspberry-pi-email-server-a-complete-step-by-step-guide

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    9863

    浏览量

    88440
  • 开发板
    +关注

    关注

    25

    文章

    5775

    浏览量

    106529
  • 树莓派
    +关注

    关注

    122

    文章

    2059

    浏览量

    107882
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基础开发AI Agent——手把手教你用扣子做智能体》

    基础开发AI Agent——手把手教你用扣子做智能体》是一为普通人量身打造的AI开发指南。它不仅深入浅出地讲解了Agent的概念和发展
    发表于 03-18 12:03

    手把手教你用51单片机DIY音乐频谱显示

    `手把手教你用51单片机DIY音乐频谱显示`
    发表于 08-15 23:13

    树莓(Raspberry+Pi)实战指南+手把手教你掌握100个精彩案例

    树莓(Raspberry+Pi)实战指南+手把手教你掌握100个精彩案例
    发表于 04-02 14:18

    手把手教你如何将树莓网关链接到服务器之第二篇

    本文为系列文章——手把手教你如何将树莓网关连接到服务器之第二篇,涉及图1所示步骤二:如何在电脑上操作,配置
    发表于 05-19 08:00

    如何将树莓网关与外网连接——手把手教你如何将树莓网关连接到服务器之第三篇

    本文为系列文章——手把手教你如何将树莓网关连接到服务器之第三篇,涉及最后一个步骤,即步骤三:如何将树莓
    发表于 05-20 07:00

    手把手教你用matlab生成STM32官方IIR滤波系数

    手把手教你用matlab生成STM32官方IIR滤波系数.pdf手把手教你用 matlab 生成 STM32 官方 IIR 滤波
    发表于 08-09 06:05

    matlab stm32 参数,手把手教你用matlab生成STM32官方IIR滤波系数.pdf 精选资料分享

    手把手教你用matlab生成STM32官方IIR滤波系数.pdf手把手教你用 matlab 生成 STM32 官方 IIR 滤波
    发表于 08-10 06:51

    手把手教你安装Quartus II

    本章手把手把教你如何安装 Quartus II 软件 ,并将它激活 。此外 还有USB -Blaster下载的驱动安装步骤 。
    发表于 09-18 14:55 ?9次下载

    手把手教你如何开始DSP编程

    手把手教你如何开始DSP编程。
    发表于 04-09 11:54 ?13次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何开始DSP编程

    手把手教你学LabVIEW视觉设计

    手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视
    发表于 03-06 01:41 ?3349次阅读

    手把手教你如何将树莓网关链接到服务器之第二篇

    本文为系列文章手把手教你如何将树莓网关连接到服务器之第二篇,涉及图1所示步骤二:如何在电脑上操作,配置
    发表于 04-15 13:48 ?1980次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何将<b class='flag-5'>树莓</b><b class='flag-5'>派</b>网关链接到<b class='flag-5'>服务器</b>之第二篇

    如何将树莓网关与外网连接——手把手教你如何将树莓网关连接到服务器之第三篇

    本文为系列文章手把手教你如何将树莓网关连接到服务器之第三篇,涉及最后一个步骤,即步骤三:如何将树莓
    发表于 04-16 14:57 ?2734次阅读

    如何将树莓网关连接到TTN——手把手教你如何将树莓网关连接到服务器之第四篇

    接下来,我们实际应用实践的例子,来告诉大家如何将树莓网关连接到TTN服务器。 1、将树莓
    发表于 04-17 17:15 ?1734次阅读

    手把手教你学FPGA仿真

    电子发烧友网站提供《手把手教你学FPGA仿真.pdf》资料免费下载
    发表于 10-19 09:17 ?2次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>学FPGA仿真

    工程送样!手把手教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 ?1166次阅读
    工程送样!<b class='flag-5'>手把手</b><b class='flag-5'>教你用</b>好广和通RedCap模组FG131&amp;amp;FG132系列