本节介绍如何使用 POP 或 IMAP 处理远程邮件。
其他选项包括在客户端机器上 nfs 挂载 spool 分区(危险,威尔·罗宾逊!每个人都在使用相同的锁定方法吗?)或使用邮件到 Web 网关(现在非常流行)。
在工作站网络中,邮件一直是个问题
但在这种情况下,用户如何读取他们的邮件呢?
使用 rsh 和 elm? :-)
这会使我们的邮件 hub 过载!一种方法是转发或 UUCP、smtp 等,但这太复杂了。
然后出现了 POP/IMAP,两者最初都有安全问题(现在在新版本中使用 ssh 修复):有时需要在本地设置邮件程序(例如,如果你使用 elm,则可以使用 qmail、smail 或 vmail,但 mozilla 会避免这种情况!);然而,接收和发送电子邮件变得更简单。
这里是 POP 的主要缺点
密码问题可以通过创建一个加密的“通道”来在其上运行 POP,或使用 APOP 或 RPOP 扩展来解决。邮件客户端问题可以通过更换邮件客户端(不要低估重新教育用户所需的努力!)或通过使用 POP “邮件吸取器”和本地邮件程序来解决。
在各种情况下,例如远程(尤其是漫游)访问,IMAP 可能比 POP 更可取,而你可以将 POP 限制在 LAN 中,在 LAN 中,密码嗅探不是那么令人担忧的问题。Mark Aitchison 报告了一个解决方案,即使用 hosts.deny 和 hosts.allow 文件(请参阅 Net-3 HOWTO;这假设你从 inet 启动 pop)。
是否在服务器上保留邮件的策略会影响服务器磁盘空间以及邮件的更轻松备份/安全性,并允许漫游,因此最佳解决方案取决于组织的类型。当然,这不能确保你的邮件不会被读取,但没有人能够删除它;如果你的所有邮件都经过 pgp 加密,这是一个更好的解决方案。
这里有一些值得尝试的 pop 程序
$ popclient -3 -v mail.acme.net -u john -p "PrettySecret" -k -o JOHN-INET-MAIL
在多用户机器的情况下,强烈建议不要这样做;其他用户可以通过例如 “ps auxw” 查看你的密码~/.fetchmailrc
中配置,因此你只需要在你想要检索邮件时运行 fetchmail
。这是我的 .fetchmailrc
poll mail.server protocol pop3:
forcecr
password PrettySecret;
不要忘记 “chmod 600 /.fetchmailrc”,否则 fetchmail 会要求这样做。请注意,使用 fetchmail 和严格遵守 RFC 的 qmail 时,需要 forcecr 选项。
为此,你必须使用支持 smtp 的邮件软件,例如 qmail、smail、vmail 或 mozilla(这个软件可以做所有事情:邮件阅读器、POP 接收、smtp 发送!)
转到前面的部分之一安装和配置你最喜欢的一个。然后,当你到达“测试”部分时,尝试向邮件 hub 上的本地帐户发送一些邮件。
如果你的程序不能自己完成所有事情,你可以安装 elm、pgp、mush、pine ... 许多优秀的程序都可以在 linux 平台上免费使用!
要检查你的邮件服务器是否具有 pop,请尝试
$ telnet mailhost 110
如果它工作,你将得到类似 “OK Pop server (...) starting” 的内容:输入 “quit”!
要安装 ssh 加密“通道”,首先测试你的邮件服务器,输入
$ ssh mailhost date
如果你得到日期,你应该没问题。请注意,ssh 不会要求输入密码,因此你必须在邮件服务器上创建一个“.shosts”文件,其中包含客户端的名称。要测试 ssh 端口重定向(gwpop 使用的),请输入
$ ssh -n -f -L 12314:localhost:110 mailhost sleep 30
then
$ telnet localhost 12314
然后你将有望看到邮件 hub 的 pop 横幅。如果你不使用 ssh,请不要忘记注释掉 gwpop 脚本中的 $ssh。要检查 procmail 是否正在运行,请尝试 “procmail -v”
现在你可以编辑 gwpop Perl 脚本以检查一切正常,然后运行 gwpop
$ gwpop -v your-username
POP password on mailhost: yoursecretpasword
如果 gwpop “错误消息” 是正常的,则来自邮件 hub 的邮件将被下载到你的本地机器,无论你告诉 gwpop 将其放在哪里。(请用一些邮件测试!)。
你也可以将 gwpop 用作守护程序
$ gwpop -d $HOME/tmp your-username
gwpop 消息然后被发送到 syslog,并且 gwpop 将无限期运行;“HUP”信号将强制 gwpop 获取你的邮件。
你可以在这里获取用于...
ftp://ftp.unina.it/pub/Unix/pkgs/network/mail/gwpop
ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail
http://www.cs.hut.fi/ssh/