抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

00 起因

  1. 我不记得我有部署过邮件服务,但我每次登录ssh都会提示我有新邮件。他们大多是本地服务发送给我自己,用来警告我的硬盘降级情况和crontab自动任务处理情况。
  2. 一开始我以为是我正在运行的某个nas程序为我自动部署了邮件服务,而我也可以通过mail命令或者mutt命令来访问这些邮件(但只能在命令行上访问,而且很辣眼睛)。
  3. 当我觉得有必要部署一个web访问的邮件服务系统时,我选择了roundcubemail来作为服务程序(因为可以docekr化的镜像来快速部署),但我却一直无法连接到我的邮件服务——错误地提示IMAP服务器未能找到,对此我感到很困惑。

01 解释

我最后通过ls -l /var/mail得知我的确有本地邮件存储,但这并不代表我启用了邮件收发服务。

  1. LLM告诉我,我的nas程序为我部署了邮件传输代理 (MTA):系统正在运行 Exim4 作为邮件传输代理。Exim4 服务当前是活跃的,并且自开机以来就一直在运行。它可以查看和管理本地邮件,这就解释了为什么我可以使用mail命令或者mutt命令来接受系统状态邮件。
  2. 然而,虽然 Exim4 提供了本地邮件传递,但它本身不是 IMAP 服务器。这解释了为什么在部署邮件容器的时候没能运行中的 IMAP 进程,因为的确不存在。
  3. 现在问题变得简单了:
  • 方案一:安装一个 IMAP 服务器(如 Dovecot),然后部署 Roundcube 或类似的 Web 邮件客户端。
  • 方案二:使用一个专门为本地邮箱设计的 Web 界面,如 Squirrelmail。

考虑到多一项在线服务就会带来多一项麻烦,我决定选择第二种方案。

02 关于邮件系统

以下是Claude关于邮件系统的解释:

  1. Exim4 是一个邮件传输代理(MTA)。它负责接收、路由和发送电子邮件。
  2. 邮件系统确实有多种机制和实现:
  • 本地邮件系统:在同一台机器上传递邮件,如系统通知。
  • 网络邮件系统:在不同机器间传递邮件。
  1. SMTP(Simple Mail Transfer Protocol)用于发送邮件,IMAP(Internet Message Access Protocol)用于接收和管理邮件。
  2. 您能接收系统状态邮件是因为:
  • 系统程序(如cron任务)生成状态报告。
  • 这些报告被发送到本地邮件系统(通过Exim4)。
  • 邮件存储在本地邮箱文件中(/var/mail/debian)。
  1. 在这种情况下,”邮件”指的是存储在本地文件系统中的文本消息,而不是通常意义上的通过互联网收发的电子邮件。

03 搭建本地邮箱服务

呃啊,好像比我想象的麻烦。之后再说。

评论