如何设置本地邮件取回和投递?

Laz*_*zer 8 email

$ mail
No mail for lazer
$
Run Code Online (Sandbox Code Playgroud)
  • 我可以使用mail.
  • 正如我在 Outlook 中看到的那样,我的收件箱中有未读邮件。

为什么邮件不显示我的邮件?我怎样才能mail获取它们?

Gil*_*il' 4

传统上,unix 邮件会直接发送到您的计算机(因为如果您的电子邮件地址是lazer@machine.example.com,那么您肯定在 上有一个 shell 帐户machine.example.com)。/var/mail/lazer它通常在名为或 的文件中传递/var/spool/mail/lazer,尽管邮件传递代理可能会将其放在其他地方。这种情况在 UNIX 邮件服务器上仍然会发生,但现在大多数用户无法直接访问邮件服务器。本地邮件(例如来自 cron 作业)通常以这种方式传递。

如今,邮件通常被传送到某处的服务器上,而您对该服务器的唯一访问是邮件检索协议,通常是POPIMAP。Microsoft 有一个专有协议来与其邮件服务器 (Exchange) 通信,并且使用除 Outlook 之外的任何内容访问 Exchange 都可能很困难(Exchange 有用于 POP 和 IMAP 的可选模块,但它们并不总是启用)。大多数 ISP 和邮件提供商都提供 POP 和 IMAP 访问;在全 Microsoft 企业环境中,您可能只能使用 Exchange。

要在 UNIX 下阅读邮件,您有以下三种选择:

  • 安排邮件服务器将邮件转发到您的计算机。仅当您的计算机始终打开并连接到 Internet 时,这才是合理的:您对任何故障负责,并且必须正确设置以处理退回邮件、垃圾邮件尝试、病毒攻击等。然后您的邮件将到达传统的 UNIX方式。

  • 定期从服务器获取邮件。常用的工具是fetchmail。它查询 POP 或 IMAP 服务器,并使用正常的系统传送机制或直接将邮件传送到您选择的文件。使用什么协议、查询什么服务器、传递什么用户名和密码等等都可以在你的 Outlook 设置中找到。根据您配置 fetchmail 的方式,下载的邮件的副本可能会也可能不会保留在服务器上。

  • 让您的邮件客户端本身使用 POP 或 IMAP 从服务器检索邮件。大多数比古代更先进的 UNIX 邮件客户端都/bin/mail可以做到这一点。同样,访问服务器的参数可以在您的 Outlook 设置中找到。在 Unix 世界之外(例如 Outlook),这通常是唯一可能的操作模式。