如果您正在使用动态 IP 地址(并且许多服务提供商只会在您为连接支付更多费用时才给您动态 IP 地址),那么您必须认识到由此带来的限制。
首先,出站服务请求将正常工作。也就是说,您可以使用 sendmail 发送电子邮件(前提是您已正确设置 sendmail),从远程站点 ftp 文件,finger 其他机器上的用户,浏览网页等等。
特别是,您可以回复您在离线时下载到您机器上的电子邮件。邮件将简单地保留在您的邮件队列中,直到您重新拨号连接到您的 ISP。
然而,您的机器不是 24 小时都连接到互联网,并且每次连接时也没有相同的 IP 地址。因此,您不可能接收到发往您机器的电子邮件,并且非常难以设置您的朋友可以访问的 Web 或 ftp 服务器!就互联网而言,您的机器并不作为一个唯一的、永久可联系的机器存在,因为它没有唯一的 IP 地址(请记住 - 其他机器在拨号连接时将被分配该 IP 地址)。
如果您设置了 WWW(或任何其他服务器),那么互联网上的任何用户都完全不知道它,除非他们知道您的机器已连接并且知道其实际(当前)的 IP 地址。他们可以通过多种方式获得此信息,包括您打电话给他们、向他们发送电子邮件告知他们,或者巧妙地使用您服务提供商的 shell 帐户上的“.plan”文件(假设您的提供商允许 shell 和 finger 访问)。
现在,对于大多数用户来说,这不是问题 - 大多数人想要的只是发送和接收电子邮件(使用您在服务提供商处的帐户)并建立到互联网上的 WWW、ftp 和其他服务器的出站连接。如果您必须对您的服务器进行入站连接,您真的应该获得一个静态 IP 地址。或者,您可以探索上面暗示的方法...
即使对于动态 IP 地址,您当然也可以在您的机器上配置 sendmail,以便发送您在本地编写的任何电子邮件。sendmail 的配置可能晦涩难懂 - 因此本文档不打算告诉您如何执行此操作。但是,您应该可能将 sendmail 配置为将您的 Internet 服务提供商指定为您的“智能中继”主机(sendmail.cf DS 选项)。(有关更多 sendmail 配置信息,请参阅 sendmail 文档 - 并查看 sendmail 附带的 m4 配置。几乎可以肯定会有一个满足您的需求)。
还有关于 Sendmail 的优秀书籍(尤其是 O'Reilly and Associates 的“圣经”),但对于大多数用户来说,这些几乎肯定是过度的!
一旦您配置了 sendmail,您可能希望在 PPP 连接建立后立即让 sendmail 发送任何一直位于出站邮件队列中的消息。为此,请添加命令
sendmail -q & |
到您的 /etc/ppp/ip-up 脚本(见下文)。
对于动态 IP 地址,入站电子邮件是一个问题。处理这个问题的方法是:-
配置您的邮件用户代理,以便所有邮件都以“回复到”标头发送,其中包含您在 Internet 服务提供商处的电子邮件地址。如果可以,您还应该将您的发件人地址设置为您在 ISP 的电子邮件地址。
使用 popclient、fetchmail 程序从您的服务提供商处检索您的电子邮件。或者,如果您的 ISP 使用 IMAP,请使用启用 IMAP 的邮件用户代理(例如 pine)。
您可以通过将必要的命令放入/etc/ppp/ip-up脚本中(见下文)。