aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2005-04-06 11:22:37 +0000
committerXin LI <delphij@FreeBSD.org>2005-04-06 11:22:37 +0000
commit555f89fb498ca96d2cc66dd1aab0d590a77310b7 (patch)
tree5863ffe25e1c9ad80a762271bbd3b834fe2ec3bd /zh_CN.GB2312/books
parent3ac1a6487c0cf9056deb0645a88458873e5d0b2d (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books')
-rw-r--r--zh_CN.GB2312/books/handbook/mail/chapter.sgml667
1 files changed, 583 insertions, 84 deletions
diff --git a/zh_CN.GB2312/books/handbook/mail/chapter.sgml b/zh_CN.GB2312/books/handbook/mail/chapter.sgml
index 704674ee18..3911ce2601 100644
--- a/zh_CN.GB2312/books/handbook/mail/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/mail/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project
- Original Revision: 1.121
+ Original Revision: 1.127
$FreeBSD$
-->
@@ -30,7 +30,6 @@
<sect1 id="mail-synopsis">
<title>概述</title>
<indexterm><primary>email</primary></indexterm>
- <indexterm><primary>电子邮件</primary></indexterm>
<para><quote>电子邮件</quote>,或通常所说的 email,是现今使用最广泛的通信方式之一。
本章将对如何在 &os; 上运行邮件服务,以及如何使用 &os; 来收发电子邮件作基本的介绍;
@@ -382,7 +381,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
<indexterm>
<primary><filename>/etc/mail/virtusertable</filename></primary>
</indexterm>
- <informaltable frame="none">
+ <informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
@@ -453,12 +452,12 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
将拒绝所有的邮件连接。如果带有 <option>RELAY</option>
选项的主机将被允许通过这个邮件服务器发送邮件到任何地方。</para>
- <example>
- <title>配置<application>sendmail</application>
- 访问数据库</title>
+ <example>
+ <title>配置 <application>sendmail</application>
+ 的访问许可数据库</title>
- <programlisting>cyberspammer.com 550 We don't accept mail from spammers
-FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
+ <programlisting>cyberspammer.com 550 We do not accept mail from spammers
+FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY</programlisting>
@@ -496,22 +495,21 @@ bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"</programlisting>
</example>
- <para>文件格式比较简单:邮箱名在冒号左边,右边是扩展的目标。
- 第一个例子简单的扩展邮箱 <username>root</username>
- 到邮箱 <username>localuser</username>,它可以在别名数据库中被找到。
- 如果没有找到匹配的,那么这个信息会被发送给本地用户
- <username>localuser</username>。接下来的例子显示了一个邮件列表。
- 发送到 <username>ftp-bugs</username> 邮箱的邮件会被扩展为三个本地邮箱
- <username>joe</username>、
- <username>eric</username> 和 <username>paul</username>。注意
- 一个远程邮箱可以用 <literal>user@example.com</literal> 的形式指定。
- 下个例子显示将邮件写到 <filename>/dev/null</filename> 文件。
- 最后一个例子向您展示了传送邮件到一个程序,在这个例子里邮件通过
- &unix; 管道被写到 <filename>/usr/local/bin/procmail</filename>
- 标准输入里。</para>
-
- <para>当这个文件被升级时, 您必须在<filename>/etc/mail/</filename>运行
- <command>make</command>来升级数据库.</para>
+ <para>这个文件的格式很简单; 冒号左边的邮箱名, 会被展开成右边的形式。
+ 第一个例子简单地将 <username>root</username>
+ 邮箱扩展为 <username>localuser</username>, 之后将继续在别名数据库中进行查找。
+ 如果没有找到匹配的记录, 则邮件会被发给本地用户
+ <username>localuser</username>。 第二个例子展示了一个邮件列表。
+ 发送到 <username>ftp-bugs</username> 的邮件会被展开成 <username>joe</username>,
+ <username>eric</username> 和 <username>paul</username> 这三个邮箱。
+ 注意也可以通过 <email>user@example.com</email> 这样的形式来指定远程的邮箱。
+ 接下来的例子展示了如何把邮件写入到文件中, 这个例子中是
+ <filename>/dev/null</filename>。 最后一个例子展示了如何将邮件发给一个程序,
+ 具体而言是通过 &unix; 管道发到 <filename>/usr/local/bin/procmail</filename>
+ 的标准输入。</para>
+
+ <para>更新此文件时, 您需要在 <filename>/etc/mail/</filename> 中使用
+ <command>make</command> 来更新数据库。</para>
</sect2>
<sect2>
<title><filename>/etc/mail/local-host-names</filename></title>
@@ -565,19 +563,17 @@ postmaster@example.com postmaster@noc.example.net
@example.com joe</programlisting>
</example>
- <para>在上面这个例子里,我们映射了一个域
+ <para>在上面这个例子中, 我们映射了一个域
<hostid role="domainname">example.com</hostid>。
- 这个文件用一个最初匹配的文件处理。第一项映射
- <literal>root@example.com</literal> 到本地邮箱
- <username>root</username>。下一项映射
- <literal>postmaster@example.com</literal> 到
- <hostid role="fqdn">noc.example.net</hostid> 主机的
- <username>postmaster</username> 邮箱。最后,如果域
- <hostid role="domainname">example.com</hostid>
- 没有被什么匹配,它将与最后一个映射匹配,在
- <hostid role="domainname">example.com</hostid>
- 域,每个其它邮件信息地址到某一个主机被匹配。
- 在这里被映射到本地邮箱 <username>joe</username>。</para>
+ 这个文件是按照从上到下, 首个匹配的方式来处理的。 第一项将
+ <email>root@example.com</email> 映射到本地邮箱 <username>root</username>。
+ 下一项则将
+ <email>postmaster@example.com</email> 映射到位于
+ <hostid role="fqdn">noc.example.net</hostid> 的 <username>postmaster</username>。
+ 最后, 如果没有来自 <hostid role="domainname">example.com</hostid>
+ 的匹配, 则将使用最后一条映射, 它表示将所有的其它邮件发给
+ <hostid role="domainname">example.com</hostid> 域的某个人。
+ 这样, 将映射到本地信箱 <username>joe</username>。</para>
</sect2>
</sect1>
@@ -1066,10 +1062,10 @@ example.FreeBSD.org
&prompt.root; <userinput>host example.FreeBSD.org</userinput>
example.FreeBSD.org has address 204.216.27.XX</screen>
- <para>如果您看到这些,直接使用
- <email>yourlogin@example.FreeBSD.org</email> 应该没有问题
- (假定 <application>sendmail</application> 已经
- 正确的运行在 <hostid role="fqdn">example.FreeBSD.org</hostid>)。</para>
+ <para>如果您看到这些, 则直接发往
+ <email role="nolink">yourlogin@example.FreeBSD.org</email>
+ 应该已经可以正常工作了 (假设 <application>sendmail</application>
+ 已经在 <hostid role="fqdn">example.FreeBSD.org</hostid> 上正确启动了)。</para>
<para>如果您看到这些:</para>
@@ -1302,9 +1298,72 @@ parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceab
</authorgroup>
</sect1info>
- <title>Setting Up to Send Only ** 翻译进行中 **</title>
+ <title>只发送邮件的配置</title>
+
+ <para>许多时候, 可能只希望通过转发服务器来发送邮件。
+ 典型的情况包括:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>使用桌面机, 但希望通过类似 &man.send-pr.1;
+ 这样的程序发送邮件。 这样就需要使用 ISP 的邮件转发服务器。</para>
+ </listitem>
+
+ <listitem>
+ <para>不在本地处理邮件的服务器,
+ 但它需要把邮件交给转发服务器来进行处理。</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>几乎任何一个 <acronym>MTA</acronym> 都能够胜任这样的工作。
+ 然而不幸的是, 要把一个全功能的 <acronym>MTA</acronym>
+ 正确地配置为只把邮件交给其他服务器是一件很困难的事情。 使用
+ <application>sendmail</application> 以及
+ <application>postfix</application> 这样的程序,
+ 多少有些杀鸡用牛刀的感觉。</para>
+
+ <para>此外, 如果您使用典型的 Internet 访问服务,
+ 您的协议可能会包含禁止运行
+ <quote>邮件服务器</quote> 的条款。</para>
+
+ <para>满足这些需要最简单的办法是安装
+ <filename role="package">mail/ssmtp</filename> port。
+ 以 <username>root</username> 身份执行下面的命令:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
+&prompt.root; <userinput>make install replace clean</userinput></screen>
+
+ <para>一旦装好,
+ <filename role="package">mail/ssmtp</filename> 就可以用四行
+ <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename> 来配置:</para>
+
+ <programlisting>root=yourrealemail@example.com
+mailhub=mail.example.com
+rewriteDomain=example.com
+hostname=_HOSTNAME_</programlisting>
+
+ <para>请确认您为
+ <username>root</username> 使用了真实的电子邮件地址。
+ 用您的 ISP 提供的外发邮件转发服务器名称,
+ 替换掉 <hostid role="fqdn">mail.example.com</hostid> (某些 ISP
+ 可能将其称为 <quote>外发邮件服务器</quote> 或
+ <quote>SMTP 服务器</quote>)。</para>
+
+ <para>接下来确认禁用了 <application>sendmail</application>,
+ 这可以通过将 <literal>sendmail_enable="NONE"</literal>
+ 加入 <filename>/etc/rc.conf</filename> 来完成。</para>
+
+ <para><filename role="package">mail/ssmtp</filename> 也提供了一些其他选项。
+ 请参见在
+ <filename>/usr/local/etc/ssmtp</filename> 中的示例配置, 或者
+ <application>ssmtp</application>
+ 的联机手册来得到一些例子和更多的其他信息。</para>
+
+ <para>以这种方式配置 <application>ssmtp</application>,
+ 能够让您计算机上的任何需要发送邮件的软件都正常运转,
+ 而不必冒违反 ISP 的使用政策,
+ 或使您的电脑被劫持用于发送垃圾邮件的风险。</para>
- <para></para>
</sect1>
<sect1 id="SMTP-dialup">
@@ -1324,7 +1383,7 @@ parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceab
<para>为了从邮箱收取邮件, 需要安装一个收信代理。
<application>fetchmail</application> 是一个能够支持许多种不同协议的不错的选择。
- 这个程序可以通过 package 或 ports collection (<filename
+ 这个程序可以通过 package 或 Ports Collection (<filename
role="package">mail/fetchmail</filename>) 来安装。
通常, 您的 <acronym>ISP</acronym> 会提供 <acronym>POP</acronym>。
如果您使用用户 <acronym>PPP</acronym>,您还可以在 Internet 连接建立时自动地抓取邮件,
@@ -1334,32 +1393,37 @@ parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceab
<programlisting>MYADDR:
!bg su user -c fetchmail</programlisting>
- <para>如果您正使用<application>sendmail</application> (如下所示)
- 传送邮件到非本地帐户,这会强迫
- <application>sendmail</application> 在连接网络后马上处理邮件进程队列,它在
- <filename>/etc/ppp/ppp.linkup</filename> 文件执行
- <command>fetchmail</command> 命令。</para>
-
- <programlisting> !bg su user -c "sendmail -q"</programlisting>
-
- <para>假设您有一个
- <username>user</username> 帐户,在 <hostid
- role="fqdn">bsd.home</hostid>机器上。在 <hostid role="fqdn">bsd.home</hostid>
- 机器上的 <username>user</username> 目录里建立一个
- <filename>.fetchmailrc</filename>文件:</para>
-
- <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting>
-
- <para>这个文件除了 <username>user</username> 外不应该被任何人读取,
- 因为它包含了 <literal>MySecret</literal> 这个密码。</para>
-
- <para>为了在发信时有正确的抬头
- <literal>from:</literal>,您必须告诉
- <application>sendmail</application> 使用
- <literal>user@example.net</literal> 而非
- <literal>user@bsd.home</literal>。您可能会希望告诉
- <application>sendmail</application> 从 <hostid
- role="fqdn">relay.example.net</hostid> 发送所有邮件,加快邮件的传送。</para>
+ <para>如果您正使用 <application>sendmail</application> (如下所示)
+ 来为非本地用户传送邮件,
+ 则可能需要让 <application>sendmail</application> 在您的
+ Internet 连接建立时立即传送邮件队列。
+ 要完成这项工作, 应该把下面的命令放到
+ <filename>/etc/ppp/ppp.linkup</filename> 中的
+ <command>fetchmail</command> 之后</para>
+
+ <programlisting> !bg su user -c "sendmail -q"</programlisting>
+
+ <para>假设您在 <hostid
+ role="fqdn">bsd.home</hostid> 上有一个
+ <username>user</username> 用户。 在 <hostid
+ role="fqdn">bsd.home</hostid> 上的
+ <username>user</username> 主目录中创建一个
+ <filename>.fetchmailrc</filename> 文件:</para>
+
+ <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting>
+
+ <para>因为包含了密码 <literal>MySecret</literal>, 这个文件应该只有
+ <username>user</username> 可读。</para>
+
+ <para>要使用正确的
+ <literal>from:</literal> 头来发送文件, 您必须告诉
+ <application>sendmail</application> 使用
+ <email>user@example.net</email> 而不是i
+ <email role="nolink">user@bsd.home</email>。
+ 另外, 您可能也需要要求
+ <application>sendmail</application> 通过 <hostid
+ role="fqdn">relay.example.net</hostid> 来发送邮件,
+ 以便更快地传送它们。</para>
<para>以下的 <filename>.mc</filename> 文件应该可以满足您的需求:</para>
@@ -1515,30 +1579,333 @@ sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting>
</author>
</authorgroup>
</sect1info>
- <title>Mail User Agents ** 翻译进行中 **</title>
+ <title>邮件用户代理</title>
<indexterm>
- <primary>Mail User Agents ** 翻译进行中 **</primary>
+ <primary>邮件用户代理</primary>
</indexterm>
- <para></para>
+ <para>邮件用户代理 (<acronym>MUA</acronym>) 是一个用于收发邮件的应用程序。
+ 更进一步, 随着电子邮件的
+ <quote>演化</quote> 并愈发复杂,
+ <acronym>MUA</acronym> 在和电子邮件相结合方面变得日趋强大;
+ 这为用户提供了更多的功能和灵活性。 &os;
+ 包含了对于众多邮件用户代理的支持, 所有这些都可以通过
+ <link linkend="ports">FreeBSD Ports Collection</link> 来轻松安装。
+ 用户可以选择类似
+ <application>evolution</application> 以及
+ <application>balsa</application> 这样的图形界面程序,
+ 也可以选择类似
+ <application>mutt</application>、 <application>pine</application>
+ 或 <command>mail</command> 这样的控制台程序,
+ 或者某些大型机构使用的 web 界面。</para>
<sect2 id="mail-command">
- <title>mail ** 翻译进行中 **</title>
+ <title>mail</title>
+
+ <para>&man.mail.1; 是 &os; 中默认的邮件用户代理
+ (<acronym>MUA</acronym>)。
+ 它是一个基于控制台的 <acronym>MUA</acronym>,
+ 提供了所有用于收发文本形式的电子邮件所需的基本功能,
+ 虽然它处理附件的能力有限, 而且只支持本地的信箱。</para>
+
+ <para>虽然 <command>mail</command> 没有内建的 <acronym>POP</acronym> 或
+ <acronym>IMAP</acronym> 服务器支持, 然而这些信箱可以通过类似
+ <application>fetchmail</application> 这样的应用程序,
+ 来下载到本地的 <filename>mbox</filename> 文件中。
+ 这一应用程序在本章的稍后部分 (<xref
+ linkend="mail-fetchmail">) 进行了介绍。</para>
+
+ <para>要收发邮件, 只需简单地使用
+ <command>mail</command> 命令,
+ 如下所示:</para>
+
+ <screen>&prompt.user; <userinput>mail</userinput></screen>
+
+ <para>用户保存在
+ <filename class="directory">/var/mail</filename>
+ 中的信箱的内容会被 <command>mail</command> 程序自动地读取。
+ 如果信箱是空的, 程序会退出并给出一个消息表示没有邮件。
+ 一旦读完了信箱, 将启动应用程序的界面,
+ 并列出邮件。 所有的邮件会被自动编号,
+ 类似下面的样子:</para>
+
+ <screen>Mail version 8.1 6/6/93. Type ? for help.
+"/var/mail/marcs": 3 messages 3 new
+>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
+ N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
+ N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen>
+
+ <para>现在, 您通过使用 <command>mail</command> 的 <keycap>t</keycap>
+ 命令, 并给出邮件的编号, 就可以看到邮件了。 在这个例子中,
+ 我们将阅读第一封邮件:</para>
+
+ <screen>& <userinput>t 1</userinput>
+Message 1:
+From root@localhost Mon Mar 8 14:05:52 2004
+X-Original-To: marcs@localhost
+Delivered-To: marcs@localhost
+To: marcs@localhost
+Subject: test
+Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
+From: root@localhost (Charlie Root)
+
+This is a test message, please reply if you receive it.</screen>
+
+ <para>正如在上面的例子中所看到的, <keycap>t</keycap>
+ 键将显示完整的邮件头。 要再次查看邮件的列表,
+ 可以使用 <keycap>h</keycap> 键。</para>
+
+ <para>如果需要回复邮件, 也可以使用
+ <command>mail</command> 来完成, 方法是使用
+ <keycap>R</keycap> 或 <keycap>r</keycap>
+ 这两个 <command>mail</command>键。
+ <keycap>R</keycap> 键会要求
+ <command>mail</command> 只回复发送邮件的人,
+ 而 <keycap>r</keycap> 不仅回复发送邮件的人,
+ 而且也会将回复抄送给原来邮件的其他接收者。
+ 如果需要, 也可以在这些命令后面指定邮件的编号。
+ 做完这些之后, 就可以输入回复了,
+ 在邮件的最后应该有一个只有一个 <keycap>.</keycap>
+ 的行, 例如:</para>
+
+ <screen>& <userinput>R 1</userinput>
+To: root@localhost
+Subject: Re: test
+
+<userinput>Thank you, I did get your email.
+.</userinput>
+EOT</screen>
+
+ <para>要发出新邮件, 可以使用 <keycap>m</keycap>,
+ 后面接收件人的邮件地址。 多个收件人之间,
+ 应该使用 <keycap>,</keycap> 隔开。 接下来需要输入邮件的主题,
+ 然后是正文。 同样的, 在邮件最后需要一个只有 <keycap>.</keycap>
+ 的空行表示结束。</para>
+
+ <screen>& <userinput>mail root@localhost</userinput>
+Subject: <userinput>I mastered mail
+
+Now I can send and receive email using mail ... :)
+.</userinput>
+EOT</screen>
+
+ <para>在 <command>mail</command> 工具中, 可以用
+ <keycap>?</keycap> 来显示帮助,
+ 而参考 &man.mail.1; 联机手册则可以获得更多关于 <command>mail</command>
+ 的帮助信息。</para>
- <para></para>
+ <note>
+ <para>正如前面所提到的那样, &man.mail.1; 命令在设计时没有考虑到要处理附件,
+ 因而在这方面他的功能很弱。 新的 <acronym>MUA</acronym>, 如
+ <application>mutt</application>, 能够更好地处理附件。
+ 但如果您仍然希望使用
+ <command>mail</command> 命令, 那么 <filename
+ role="package">converters/mpack</filename> port
+ 则是一个值得考虑的附加工具。</para>
+ </note>
</sect2>
<sect2 id="mutt-command">
- <title>mutt ** 翻译进行中 **</title>
+ <title>mutt</title>
+
+ <para><application>mutt</application> 是一个短小精悍的邮件用户代理,
+ 它提供了许多卓越的功能, 包括:</para>
- <para></para>
+ <itemizedlist>
+ <listitem>
+ <para>能够按线索阅读邮件;</para>
+ </listitem>
+
+ <listitem>
+ <para>支持使用 PGP 对邮件进行数字签名和加密;</para>
+ </listitem>
+
+ <listitem>
+ <para>支持 MIME;</para>
+ </listitem>
+
+ <listitem>
+ <para>支持 Maildir;</para>
+ </listitem>
+
+ <listitem>
+ <para>高度可定制。</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>所有这些特性, 都使得
+ <application>mutt</application>
+ 得以跻身于目前最先进的邮件用户代理的行列。 请参考 <ulink
+ url="http://www.mutt.org"></ulink>
+ 以了解更多关于 <application>mutt</application> 的资料。</para>
+
+ <para>稳定版本的 <application>mutt</application>
+ 可以通过 <filename
+ role="package">mail/mutt</filename> port 来安装,
+ 而开发版本, 则可以通过使用 <filename
+ role="package">mail/mutt-devel</filename> port 安装。
+ 通过 port 安装之后,可以通过下面的命令来启动
+ <application>mutt</application>:</para>
+
+ <screen>&prompt.user; <userinput>mutt</userinput></screen>
+
+ <para><application>mutt</application> 会自动读取 <filename
+ class="directory">/var/mail</filename> 中的用户信箱,
+ 并显示其内容。 如果用户信箱中没有邮件, 则
+ <application>mutt</application> 将等待来自用户的命令。
+ 下面的例子展示了 <application>mutt</application>
+ 列出邮件的情形:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/mutt1" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para>要阅读邮件, 只需用光标键选择它,
+ 然后按 <keycap>Enter</keycap> 键。 以下是
+ <application>mutt</application> 显示邮件的例子:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/mutt2" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para>和 &man.mail.1; 类似,
+ <application>mutt</application> 允许用户只回复发件人,
+ 或者回复所有人。 如果只想回复发信任, 使用
+ <keycap>r</keycap> 快捷键。 要回复所有人 (group reply),
+ 可以用 <keycap>g</keycap> 快捷键。</para>
+
+ <note>
+ <para><application>mutt</application> 会使用
+ &man.vi.1; 命令作为编辑器, 用于创建和回复邮件。
+ 这一行为可以通过建立用户自己的 <filename>.muttrc</filename>
+ 文件来订制, 方法是修改
+ <literal>editor</literal> 变量。</para>
+ </note>
+
+ <para>要撰写新邮件, 需要首先按
+ <keycap>m</keycap>。 在输入了有效的邮件主题之后,
+ <application>mutt</application> 将启动 &man.vi.1;,
+ 您可以在其中撰写邮件。 写好邮件的内容之后,
+ 存盘并退出 <command>vi</command>, 则
+ <application>mutt</application> 将继续,
+ 并显示一些关于将发出的邮件的摘要信息。
+ 要发送邮件, 只需按 <keycap>y</keycap>。
+ 下面给出了摘要信息的一个例子:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/mutt3" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para><application>mutt</application> 也提供了相当详尽的帮助,
+ 在绝大多数菜单中, 都可以使用 <keycap>?</keycap> 键将其呼出。
+ 屏幕顶行中也会给出常用的快捷键。</para>
</sect2>
<sect2 id="pine-command">
- <title>pine ** 翻译进行中 **</title>
+ <title>pine</title>
+
+ <para><application>pine</application> 主要是针对初学者设计的,
+ 但也提供了一些高级功能。</para>
- <para></para>
+ <warning>
+ <para>过去, <application>pine</application> 软件被发现有许多远程漏洞,
+ 这些漏洞会允许远程的攻击者在用户的本地系统上,
+ 通过发送精心炮制的邮件来执行任意的代码。 所有的
+ <emphasis>已知</emphasis> 问题都已经被修正了, 但
+ <application>pine</application> 的代码是以很不安全的风格编写的,
+ 并且 &os; 安全官相信仍然有一些尚未被发现的安全漏洞。
+ 您应当考虑并承担安装
+ <application>pine</application> 可能带来的风险。</para>
+ </warning>
+
+ <para>最新版本的 <application>pine</application>
+ 可以通过使用 <filename
+ role="package">mail/pine4</filename> port 来安装。
+ 装好之后, <application>pine</application>
+ 可以通过下面的命令启动:</para>
+
+ <screen>&prompt.user; <userinput>pine</userinput></screen>
+
+ <para>第一次启动 <application>pine</application> 时,
+ 它会显示出一个欢迎页, 并给出简要的介绍,
+ 以及 <application>pine</application> 开发小组要求用户匿名发送一封邮件,
+ 以便帮助他们了解有多少用户在使用他们开发的客户程序的请求。
+ 要发送这封匿名的邮件, 请按 <keycap>Enter</keycap>,
+ 您也可以按 <keycap>E</keycap> 退出,
+ 而不发送匿名邮件。 下面是欢迎页的一个例子:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/pine1" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para>接下来展现给用户的将是主菜单,
+ 可以很容易地通过光标键在上面进行选择。
+ 这个主菜单提供了用于撰写新邮件、 浏览邮件目录,
+ 甚至管理地址簿等等的快捷方式。
+ 主菜单下面是完成各种功能的快捷键说明。</para>
+
+ <para>由 <application>pine</application>
+ 打开的默认目录是 <filename class="directory">inbox</filename>。
+ 要查看邮件所以in, 应按
+ <keycap>I</keycap>, 或选择下面所示的 <guimenuitem>MESSAGE INDEX</guimenuitem>
+ 选项:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/pine2" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para>邮件索引展示了当前目录下的邮件,
+ 可以使用光标键翻阅。 按
+ <keycap>Enter</keycap> 键阅读高亮选定的邮件。</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/pine3" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para>在上面的截屏中, 使用
+ <application>pine</application> 显示了一封示例邮件。
+ 在屏幕底部也显示了快捷键供参考。 其中的一个例子是 <keycap>r</keycap> 键,
+ 它告诉 <acronym>MUA</acronym> 回复正显示的邮件。</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/pine4" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para>在 <application>pine</application> 中回复邮件,
+ 是通过 <application>pico</application> 编辑器完成的,
+ 后者默认情况下会随 <application>pine</application> 一起安装。
+ 而 <application>pico</application> 工具使得浏览邮件变得更加简单,
+ 并且要比 &man.vi.1; 或 &man.mail.1; 更能容忍误操作。
+ 回复写好之后, 可以用
+ <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap>
+ </keycombo> 来发出它。 此前, <application>pine</application>
+ 程序会要求确认。</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="mail/pine5" format="PNG">
+ </imageobject>
+ </mediaobject>
+
+ <para><application>pine</application> 程序可以通过使用主菜单中的
+ <guimenuitem>SETUP</guimenuitem> 选项来进行定制。
+ 请参考 <ulink url="http://www.washington.edu/pine/"></ulink>
+ 来了解更多信息。</para>
</sect2>
</sect1>
@@ -1553,13 +1920,84 @@ sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting>
</author>
</authorgroup>
</sect1info>
- <title>Using fetchmail ** 翻译进行中 **</title>
+ <title>使用 fetchmail</title>
<indexterm>
- <primary>Using fetchmail</primary>
+ <primary>fetchmail</primary>
</indexterm>
- <para></para>
+ <para><application>fetchmail</application> 是一个全功能的
+ <acronym>IMAP</acronym> 和 <acronym>POP</acronym> 客户程序,
+ 它允许用户自动地从远程的
+ <acronym>IMAP</acronym> 和 <acronym>POP</acronym> 服务器上下载邮件,
+ 并保存到本地的信箱中; 这样, 访问这些邮件就变得更方便了。
+ <application>fetchmail</application> 可以通过
+ <filename role="package">mail/fetchmail</filename> port 安装,
+ 它提供了许多有用的功能, 其中包括:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>支持 <acronym>POP3</acronym>、
+ <acronym>APOP</acronym>、 <acronym>KPOP</acronym>、
+ <acronym>IMAP</acronym>、 <acronym>ETRN</acronym> 以及
+ <acronym>ODMR</acronym> 协议。</para>
+ </listitem>
+
+ <listitem>
+ <para>通过 <acronym>SMTP</acronym> 转发邮件,
+ 这使得过滤、 转发, 以及邮件别名能够正常工作。</para>
+ </listitem>
+
+ <listitem>
+ <para>能够以服务程序的方式运行, 并周期性地检查邮件。</para>
+ </listitem>
+
+ <listitem>
+ <para>能够从多个信箱收取邮件, 并根据配置,
+ 将这些邮件转发给不同的本地用户。</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>尽管介绍全部 <application>fetchmail</application> 的功能超出了本书的范围,
+ 但这里仍然介绍了其基本的功能。
+ <application>fetchmail</application> 工具需要一个名为
+ <filename>.fetchmailrc</filename> 的配置文件才能正常工作。
+ 这个文件中包含了服务器信息, 以及登录使用的凭据。
+ 由于这个文件包含敏感内容, 建议将其设置为只有属主所有,
+ 使用下面的命令:</para>
+
+ <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
+
+ <para>下面的 <filename>.fetchmailrc</filename> 提供了一个将某一用户的信箱通过
+ <acronym>POP</acronym> 下载到本地的例子。 它告诉
+ <application>fetchmail</application> 连接到 <hostid
+ role="fqdn">example.com</hostid>, 并使用用户名
+ <username>joesoap</username> 和口令
+ <literal>XXX</literal>。 这个例子假定
+ <username>joesoap</username> 同时也是本地的系统用户。</para>
+
+ <programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting>
+
+ <para>下一个例子将连接多个 <acronym>POP</acronym>
+ 和 <acronym>IMAP</acronym> 服务器, 并根据需要转到不同的本地用户:</para>
+
+ <programlisting>poll example.com proto pop3:
+user "joesoap", with password "XXX", is "jsoap" here;
+user "andrea", with password "XXXX";
+poll example2.net proto imap:
+user "john", with password "XXXXX", is "myth" here;</programlisting>
+
+ <para>另外, <application>fetchmail</application> 也可以通过指定
+ <option>-d</option> 参数, 并给出 <application>fetchmail</application>
+ 在轮询 <filename>.fetchmailrc</filename> 文件中列出的服务器的时间间隔,
+ 来以服务程序的方式运行。 下面的例子会让 <application>fetchmail</application>
+ 每 60 秒轮询一次:</para>
+
+ <screen>&prompt.user; <userinput>fetchmail -d 60</userinput></screen>
+
+ <para>更多关于 <application>fetchmail</application> 的资料,
+ 可以在 <ulink
+ url="http://www.catb.org/~esr/fetchmail/"></ulink> 找到。</para>
</sect1>
<sect1 id="mail-procmail">
@@ -1572,13 +2010,74 @@ sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting>
</author>
</authorgroup>
</sect1info>
- <title>Using procmail ** 翻译进行中 **</title>
+ <title>使用 procmail</title>
<indexterm>
- <primary>Using procmail</primary>
+ <primary>procmail</primary>
</indexterm>
- <para></para>
+ <para><application>procmail</application> 是一个强大得惊人的过滤进入邮件的应用程序。
+ 它允许用户定义 <quote>规则</quote>, 并用这些规则来匹配进入的邮件,
+ 进而执行某些特定的功能, 或将这些邮件转发到其他信箱和/或邮件地址。
+ <application>procmail</application> 可以通过
+ <filename role="package">mail/procmail</filename> port 来安装。
+ 装好之后, 可以直接把它集成到绝大多数
+ <acronym>MTA</acronym> 中; 请参考您使用的 <acronym>MTA</acronym>
+ 的文档了解具体的作法。 另外,
+ <application>procmail</application>
+ 可允许通过把下面的设置加入到用户主目录中的 <filename>.forward</filename>
+ 文件中, 来启用
+ <application>procmail</application> 功能:</para>
+
+ <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>
+
+ <para>接下来我们将介绍一些基本的
+ <application>procmail</application> 规则, 以及它们都是做什么的。
+ 各种各样的规则, 都应该写到 <filename>.procmailrc</filename>
+ 文件中, 而这个文件则必须放在用户的主目录下。</para>
+
+ <para>主要的规则, 也可以在
+ &man.procmailex.5; 联机手册中找到。</para>
+
+ <para>将所有来自 <email>user@example.com</email> 的邮件,
+ 转发到外部地址 <email role="nolink">goodmail@example2.com</email>:</para>
+
+ <programlisting>:0
+* ^From.*user@example.com
+! goodmail@example2.com</programlisting>
+
+ <para>转发所有不超过 1000 字节的邮件到外部地址
+ <email role="nolink">goodmail@example2.com</email>:</para>
+
+ <programlisting>:0
+* < 1000
+! goodmail@example2.com</programlisting>
+
+ <para>把所有发送到 <email>alternate@example.com</email>
+ 的邮件放到信箱 <filename>alternate</filename> 中:</para>
+
+ <programlisting>:0
+* ^TOalternate@example.com
+alternate</programlisting>
+
+ <para>将所有标题为 <quote>Spam</quote> 的邮件发到
+ <filename>/dev/null</filename>:</para>
+
+ <programlisting>:0
+^Subject:.*Spam
+/dev/null</programlisting>
+
+ <para>将收到的所有 <hostid role="domainname">&os;.org</hostid> 邮件列表的邮件,
+ 转发到各自的信箱:</para>
+
+ <programlisting>:0
+* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
+{
+ LISTNAME=${MATCH}
+ :0
+ * LISTNAME??^\/[^@]+
+ FreeBSD-${MATCH}
+}</programlisting>
</sect1>
</chapter>