我正在尝试使用 Ubuntu 上的 Thunderbird 阅读本地邮件(12.04 和 13.04)。我遵循了此处的说明:如何通过 thunderbird 访问 /var/mail/ 中的系统邮件?
我可以使用 alpine 或 vim 在系统上阅读邮件,所以我知道邮箱不是空的。当我单击获取邮件按钮时,什么也没有发生。我没有看到特定帐户的收件箱(或任何文件夹结构)。我已将 /var/mail 的权限设置为 1777。
设置
- 服务器名称:localhost
- 用户名:john
我怎样才能让它工作?
好的,考虑到额外的赏金,我希望它能像普通邮件一样工作。Qasim 接受的答案带来了比以前更有用的情况 - 在 Thunderbird 中打开带有布局的邮件。但我仍然面临三个问题。
- 当邮箱中收到新邮件时,Thunderbird 需要重新启动后才能看到。
- 重新启动 Thunderbird 后,所有邮件都会重置为未读,已删除的邮件也会被撤消。这可能是因为 Thunderbird 从 /var/mail/www-data 文件读取邮件,但不会更新此文件。因此,重新启动后,它只会再次读取此文件,其中包含新邮件和所有旧邮件。
- 这可能是 Postfix 问题:邮件已发送到现有邮件地址,但由于无法访问接收邮件服务器而无法送达。这会导致“未送达的邮件返回给发件人”。只能访问一个邮件服务器:localhost。因为这是一个测试系统,我不希望真正的客户收到邮件。为了确保万无一失,我已在 UFW 中阻止了邮件端口。
打开退回的邮件时,我可以向下滚动,然后看到布局正确的原始邮件。因此,我可以阅读邮件,查看是否包含正确的图像,对我来说这是可行的。必须重新启动 TB 才能阅读新邮件 - 我知道新邮件何时到达,所以我知道何时重新启动。重新启动后恢复旧邮件 - 也不是大问题。如果邮件文件太多,我可以删除它。我知道它是如何工作的,但如果它像平常一样工作就好了。
答案1
使用 Thunderbird 阅读本地电子邮件
步骤 1。
sudo apt-get install postfix -y
如果已安装
sudo dpkg-reconfigure postfix
为本地电子邮件配置它,选择默认设置并用作localhost
主机名
第 2 步。
sudo nano /etc/aliases
并将 root 替换为您的用户名,我的用户名是“ one ”
postmaster: root
logcheck: one
然后运行sudo newaliases
以便更新配置。
步骤3。
您需要创建一个包含您的用户名和本地主机的 .forward 文件:例如 one@localhost,以便 root 的邮件将转发给您。为此,请输入以下命令:
sudo nano /root/.forward
并在文件中添加用户名@localhost 例如 one@localhost 并保存。
步骤4。
sudo adduser $USER mail
需要将您的用户添加到邮件组,以便 Thunderbird 可以访问邮件文件
步骤5。
logout and login for the changes to take effect
步骤6。
现在进行 Thunderbird 配置。转到编辑 > 帐户设置 > 帐户操作 > 添加其他帐户 > 选择 Unix Mailspool,然后在下一个屏幕中将您的用户名输入到第一个框中,将 yourusername@localhost 输入到第二个框中。
服务器设置 > 浏览
浏览 > 选择 /var/mail 文件夹
发送服务器,端口 25
Thunderbird 将自动关闭然后写一封电子邮件给 root@localhost
获取邮件
答案2
不幸的是,Thunderbird 自 2017 年 1 月起取消了创建“movemail”帐户的功能。版本 87。因此,请按照这个答案不管用。
安装和设置 Postfix 后,您需要执行的操作如下所述在同一个答案中,就是安装并设置 dovecot。这会在内部移动您的邮件,然后您设置 Thunderbird。以下是步骤。
安装 dovecot:
sudo apt install dovecot-imapd
设置 Thunderbird。通过添加新帐户,并进行如下设置:
你的名字:
电子邮件地址:@localhost
IMAP 邮件服务器设置:
- 服务器名称:localhost
- 端口:143
- 用户名:
- 密码:<任意密码,或留空>
- 连接安全:无
- 身份验证方法:密码,不安全传输
- 当我删除一条消息时:立即删除
- 本地目录: </home/username/.thunderbird/.default/ImapMail/.machinename>
SMTP 服务器设置为:
- 描述:本地邮件
- 服务器名称:localhost
- 端口:25
- 连接安全:无
- 身份验证方法:密码,不安全传输
- 用户名:
请注意,为了进一步阅读,我使用了此主题作为参考。
答案3
@Qasim 击中了大部分观点,谢谢!
以下是有关文件权限等的一些额外提示。
1 - 但首先,在开始之前,我强烈建议您备份整个~/.thunderbird/
和/var/mail/
文件夹。
使用如下方法:
$ `cp -a ~/.thunderbird ~/.thunderbird~` #and
$ `sudo cp -a /var/mail /var/mail~`
2——现在,您需要考虑文件权限。
您可能正在使用用户帐户运行 Thunderbird,而不是使用 root 帐户运行。
假设您是 Joe,并且正在运行 Thunderbird。这意味着 Thunderbird 需要使用的文件夹和文件必须对 Joe 可用。
具体来说,
/var/mail/
需要允许 Joe 读取和写入其中的文件,因此它要么需要由 Joe 拥有,要么需要允许 Joe 拥有群组或世界权限。对于其中的文件也一样
/var/mail/
,即您的邮件假脱机文件,例如邮件或乔等,需要允许乔读取和写入它们。
您可能必须将它们 chown 给 Joe,或者 chmod 给 Joe 以允许 Joe 对它们进行读取和写入。
请注意,旧的默认邮件池位置软链接到新的默认邮件池位置,如下所示:
`/var/spool/mail` -> `../mail`, i.e. -> `/var/mail`,
3——以下是我使用的屏幕截图以及一些评论:
下面是发送用的地址,后来发现这样是不能转发邮件的,只能把里面的localhost换成真实的域名。
请注意,Next
直到您输入有效的域名(在本例中为“localhost”)后,它才会变为活动状态。
4 - 接下来我们需要将这个新帐户指向/var/mail/
但我在这里遇到了麻烦,Thunderbird 一时似乎出现了问题。请确保编辑新帐户的服务器设置,而不是本地文件夹的设置。
注意:即使我设置了Local directory:
,它Message Store Type
仍然为灰色。也许 Thunderbird 会自动解决此问题。
然后提示重新启动 Thunderbird:
重启后我终于得到了这两个文件夹。收件箱仍然是空的,但这些文件夹允许我查看、复制、打印其中的电子邮件等。
使用提示:右键单击mail@localhost
,然后选择Get Messages
重新读取我的两个文件夹并将任何新消息放入Inbox
,然后清除这些文件夹。
请注意邮件文件夹中的新msgFilterFules.dat
、、、和Sent
其他相关文件。Sent.msf
Trash
Trash.msf
.msf
还请注意,您可以拥有多个这样的帐户。我注意到我也有一个/home/<username>/mail/
文件夹,因此将其与第二个帐户关联起来进行调试。
现在我必须弄清楚 exim 是否允许新的文件夹和文件权限设置...:-。
(据记录,我使用的是 Debian Stretch 9.6,但除此之外,这似乎与 Ubuntu 相同。我正在运行 Thunderbird 60.3 - 64 位。)
答案4
关于第 1 点和第 2 点:
- 当邮箱中收到新邮件时,Thunderbird 需要重新启动后才能看到。
- 重新启动 Thunderbird 后,所有邮件都会重置为未读,已删除的邮件也会被撤消。这可能是因为 Thunderbird 从 /var/mail/www-data 文件读取邮件,但不会更新此文件。因此,重新启动后,它只会再次读取此文件,其中包含新邮件和所有旧邮件。
请确保:
- Postfix(或您正在使用的任何邮件传输代理)将您的本地电子邮件发送到 /var/spool/mail/john。
- 在 Thunderbird 中,您没有改变服务器设置中的本地目录设置(例如~/.thunderbird//Mail/localhost)。
这样 Thunderbird 就会自动读取来自/var/spool/邮件/约翰并将其移动到位于以下位置的内部邮箱文件:~/.thunderbird//邮件/收件箱[1]。
据我所知,没有办法将 Thunderbird 指向不同于 /var/spool/mail/ 的输入邮箱,因此您应该相应地配置您的 MTA(例如 postfix)。