$ mail
No mail for lazer
$
- 我可以使用发送邮件
mail
。 - 在Outlook中可以看到,我的收件箱中有未读的邮件。
为什么邮件不向我显示我的邮件?我该如何mail
获取它们?
$ mail
No mail for lazer
$
mail
。为什么邮件不向我显示我的邮件?我该如何mail
获取它们?
Answers:
传统上,unix邮件会直接发送到您的计算机上(因为,如果您的电子邮件地址是lazer@machine.example.com
,则您肯定拥有shell帐户machine.example.com
)。它通常以称为/var/mail/lazer
或的文件形式传递/var/spool/mail/lazer
,尽管邮件传递代理可能会将其放在其他地方。在Unix邮件服务器上仍然会发生这种情况,但是如今,大多数用户无法直接访问邮件服务器。本地邮件(例如来自cron作业)通常以这种方式发送。
如今,通常情况下,邮件是通过某处的服务器传递的,您对该服务器的唯一访问权是邮件检索协议,通常是POP或IMAP。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中),这通常是唯一可能的操作模式。