如何在Thunderbird中阅读本地邮件?

我刚刚安装了Postfix,并将其配置为仅用于本地电子邮件,以便拥有一个sendmail程序并测试我的PHP脚本。
我的问题是,如何使用支持HTML的电子邮件客户端(例如Thunderbird)来阅读本地的根邮件等邮件?
3个回答

(当我在下面讨论设置时,我使用的是桌面版Ubuntu 12.04)
现在你已经安装了postfix(可以使用sudo dpkg-reconfigure postfix重新配置),并且现在在/etc/postfix目录下有一个名为main.cf的文件,Thunderbird可以设置来读取系统邮件。然而,我发现如果你想同时接收来自root@localhost的消息和发送消息到root@localhost,它通常需要比建议的时间更长。
首先,如在这个讨论中推荐的那样,对我有效的方法是使用postfix的别名功能来重定向邮件;使用sudo nano /etc/aliases编辑别名文件,使其看起来像这样(用你自己的用户名替换我的用户名):
postmaster:    root
root:   mike 

然后运行sudo newaliases以更新配置。
正如上面的链接中也指出的,您需要创建一个包含您的用户名和本地主机(例如mike@localhost)的.forward文件,以便将root的邮件转发给您。要执行此操作,请输入以下命令:
sudo touch /root/.forward

然后运行
sudo nano /root/.forward

将您的用户放置在文件中并保存,例如:mike@localhost
此外,我发现有必要将您的用户添加到邮件组,以便Thunderbird可以访问邮件文件。
sudo adduser $USER mail

然后注销并重新登录以使更改生效。无需像一些文章可能建议的那样进行任何文件的chown或chmod操作。
现在是关于Thunderbird的配置。进入编辑 > 账户设置 > 账户操作 > 添加其他账户 > 选择Unix spoolmail,在下一个界面中,在第一个框中输入您的用户名,并在第二个框中输入yourusername@localhost

enter image description here enter image description here

现在,转到帐户设置中的新帐户,并选择服务器设置,将本地目录设置为/var/mail/var/mail/username(如果已设置),如下图所示。

enter image description here

根据本文中的说明,如果您想通过发送邮件到root@localhost并在Thunderbird中点击获取邮件来测试帐户,则需要配置SMTP服务器,因为root的邮件被重定向到youruser@localhost
转到帐户设置>外发服务器,并选择添加新服务器。设置应如下截图所示:

enter image description here

现在,最后通过给root@localhost发送一封邮件,并在几秒钟后点击获取邮件来测试您的帐户。您应该会看到一封类似以下内容的电子邮件:

enter image description here

一些程序或日志需要进行配置,以便将邮件发送给root用户,但这可以根据您的需求来决定。本文应该对您有所帮助,因为设置Thunderbird接收本地邮件并不总是一件直截了当的事情。

1太好了!你很棒!我只想添加这个链接 http://serverfault.com/questions/94640/how-to-redirect-all-outgoing-email-from-postfix-to-a-single-address-for-testing 作为参考,给那些希望在进行PHP脚本编写时拥有完整的本地开发环境并测试电子邮件功能的人。 - user58366
如果能够接收所有发送的邮件,那就太好了。因为在某些环境中,user@localhost 不是有效的邮件地址,所以不能使用它。 - keiki
1太棒了,你说得完美。真希望我能给你更多的赞! - eggonlegs
创建转发后,使用以下命令创建/var/mail/(用户)并测试发送邮件: $ mail root\n test\n content\n。结束邮件撰写并使用Ctrl-D\n.\n¸发送。(将\n替换为回车键,评论中不允许多行代码) - JPT
对于我来说,当我运行Thunderbird时,我使用用户的账户登录,所以我不需要设置服务器地址到用户的邮件目录。非常棒的答案,谢谢! - aderchox
似乎Thunderbird在v91.x版本中取消了对"Unix Mailspool (Movemail)"账户的支持。只有新闻组在列表中 -- https://www.linuxquestions.org/questions/slackware-14/thunderbird-91-with-unix-mail-broken-4175699339/ - spinkus

尝试编辑->帐户设置,在帐户操作下选择“添加其他帐户”。
从列表中选择“Unix Mailspool (Movemail)”,然后继续配置您的姓名、帐户和其他设置。
当您点击“获取邮件”时,它应该在您系统(本地主机)的/var/spool/mail目录中查找您的邮件文件。

1我找不到指定“/var/spool/mail”的位置,此外,我该如何发送电子邮件到那个帐户以测试它? - user58366
1我可以在Thunderbird之外使用其他邮件客户端来阅读/var/mail/USERNAME中的电子邮件吗?请考虑到我需要一个支持HTML的电子邮件客户端。 - user58366
1现在可以运行,只需在初始配置向导中将“@(none)”替换为“@localhost”。 - user58366
不再起作用了,Unix Mailspool选项已从Thunderbird中删除 =( https://bugzilla.mozilla.org/show_bug.cgi?id=1625741 - Madacol
1我找到了一个解决办法,sudo apt install mailutils-pop3d,重启你的系统,然后添加一个普通的邮件账户 user@localhost 和你的密码,完成!也许mailutils-imap4d也可以(未经测试)。 - Madacol

我发现这个方法更容易:

在安装了Postfix之后,你只需要在Thunderbird文件夹中创建一个指向本地/var/mail/username文件的符号链接。

简而言之:

在“本地文件夹/收件箱”中创建一个名为“系统”(或其他名称)的子文件夹。 退出Thunderbird,进入~/.thunderbird/xxxx.default/Mail/Local\ Folders/目录, 找到名为System的文本文件。将其替换为指向/var/mail/username的符号链接。

cd /home/pepito/.mozilla-thunderbird/xxxx.default/Mail/Local\ Folders/
rm System
ln -s /var/mail/username System

(就我个人而言,我不需要SMTP - 所以我没有深入研究它。)