第21章 其他文件系统
附录 D. OpenPGP 密钥
29.8.在拨号连接中使用邮件
如果你有静态的 IP 地址,就应该不用修改任何默认的配置。将主机名设置为分配给你的 Internet 名称,其他的事情 sendmail 都会替你做好。
如果你的 IP 地址是动态分配的,并使用 PPP 连接拨入 Internet,则你可能会从 ISP 的邮件服务器上得到一个信箱。这里我们假设你的 ISP 的域名是 example.net,你的用户名是 user,你把自己的机器称作 bsd.home,而你的 ISP 告诉你可以使用 relay.example.net 来转发邮件。
为了从邮箱收取邮件,需从 Ports 安装一个收信代理。mail/fetchmail 是一个能够支持许多种不同协议的不错的选择。如果你使用用户 PPP,你还可以在 Internet 连接建立时自动地抓取邮件,这可以通过在 /etc/ppp/ppp.linkup 中增加如下的项来实现:
1
MYADDR:
2
!bg su user -c fetchmail
Copied!
如果你正使用 sendmail(如下所示)来为非本地用户传送邮件,则可能需要让 sendmail 在你的 Internet 连接建立时立即传送邮件队列。要完成这项工作,应该把下面的命令放到 /etc/ppp/ppp.linkup 中的 fetchmail 之后:
1
!bg su user -c "sendmail -q"
Copied!
在此示例中,假设你在 bsd.home 上有一个 user 用户。在 bsd.home 上的 user 主目录中创建一个 .fetchmailrc 文件:
1
poll example.net protocol pop3 fetchall pass MySecret
Copied!
因为包含了密码 MySecret,这个文件应该只有 user 可读。
要使用正确的 from: 头来发送文件,你必须告诉 sendmail 使用 [email protected] 而不是 [email protected] 。并通过 relay.example.net 发送所有的邮件,这样可以加快邮件传输速度。
下面的 .mc 应该足够了。
1
VERSIONID(`bsd.home.mc version 1.0')
2
OSTYPE(bsd4.4)dnl
3
FEATURE(nouucp)dnl
4
MAILER(local)dnl
5
MAILER(smtp)dnl
6
Cwlocalhost
7
Cwbsd.home
8
MASQUERADE_AS(`example.net')dnl
9
FEATURE(allmasquerade)dnl
10
FEATURE(masquerade_envelope)dnl
11
FEATURE(nocanonify)dnl
12
FEATURE(nodns)dnl
13
define(`SMART_HOST', `relay.example.net')
14
Dmbsd.home
15
define(`confDOMAIN_NAME',`bsd.home')dnl
16
define(`confDELIVERY_MODE',`deferred')dnl
Copied!
有关如何将该文件转换为 sendmail.cf 格式的详细信息,请参考前面的章节。另外,在更新 sendmail.cf 文件后,不要忘记重启 sendmail
Copy link
Edit on GitHub