如果您有静态的 IP 地址, 就应该不用修改任何默认的配置。 将主机名设置为分配给您的 Internet 名称,其他的事情 sendmail 都会替您做好。
如果您的 IP 地址是动态分配的, 并使用 PPP 连接拨入
Internet, 则您可能会从 ISP 的邮件服务器上得到一个信箱。
这里我们假设您的 ISP 的域名是
example.net
, 您的用户名是
user
, 您把自己的机器称作
bsd.home
, 而您的 ISP 告诉您可以使用
relay.example.net
来转发邮件。
为了从邮箱收取邮件, 需要安装一个收信代理。
fetchmail 是一个能够支持许多种不同协议的不错的选择。
这个程序可以通过 package 或 Ports Collection (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 使用
<[email protected]>
而不是i
<[email protected]>
。
另外, 您可能也需要要求
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
如何转换这个 .mc
文件到
sendmail.cf
文件的细节,请参考前面的章节。
另外,在更新 sendmail.cf
文件后,
不要忘记重启 sendmail。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.