28.8. 在拨号联机使用邮件

当使用静态IP地址时,不需要调整默认配置。将主机名设置为指定名称,然后Sendmail就可以完成剩下的工作。

当使用动态分配的IP地址和拨号PPP连接到互联网时,通常在ISP的邮件服务器上有一个邮箱。在这个例子中,ISP的域名是example.net,用户名是user,主机名是bsd.home,并且ISP允许relay.example.net作为邮件中继。

为了从ISP的邮箱中检索邮件,请在 Ports Collection 中安装一个检索代理(retrieval agent)。mail/fetchmail是个不错的选择,它支持许多不同的协议。通常情况下,ISP会提供POP。当使用用户PPP时,当Internet连接建立后,可以在/etc/ppp/ppp.linkup中的以下条目中自动获取电子邮件:

MYADDR:
!bg su user -c fetchmail

当使用Sendmail向非本地账户发送邮件时,请让Sendmail在Internet连接建立后立即处理邮件队列。要做到这一点,请在/etc/ppp/ppp.linkup中的fetchmail条目之后添加这一行:

  !bg su user -c "sendmail -q"

在此示例中,bsd.home上有一个user帐户。在bsd.home上的user的主目录中,创建包含此行的.fetchmailrc

poll example.net protocol pop3 fetchall pass MySecret

该文件中含有密码 MySecret,因此他不应该被除 user 以外的所有用户读取。

为了使用正确的from:头发送邮件,请将Sendmail配置为使用而非,并通过relay.example.net来发送所有邮件,这样可以更快地传输邮件。

以下的 .mc 文件应该可以满足您的需求:

VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl

有关如何将此文件转换为sendmail.cf格式的详情,请参阅上一节。不要忘记在更新了sendmail.cf之后,重新启动Sendmail

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.