MFen 1.121 -> 1.127, plus several translation completion/improvements.
Local revisions: 1.1.1000.2-1.1.1000.12 (delphij) Obtained from: The FreeBSD Simplified Chinese Project CVS
This commit is contained in:
parent
3ac1a6487c
commit
555f89fb49
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=24230
1 changed files with 577 additions and 78 deletions
|
@ -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>这个文件的格式很简单; 冒号左边的邮箱名, 会被展开成右边的形式。
|
||||
第一个例子简单地将 <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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting>
|
||||
|
||||
<para>这个文件除了 <username>user</username> 外不应该被任何人读取,
|
||||
因为它包含了 <literal>MySecret</literal> 这个密码。</para>
|
||||
<para>因为包含了密码 <literal>MySecret</literal>, 这个文件应该只有
|
||||
<username>user</username> 可读。</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>要使用正确的
|
||||
<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></para>
|
||||
<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>
|
||||
|
||||
<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></para>
|
||||
<para><application>mutt</application> 是一个短小精悍的邮件用户代理,
|
||||
它提供了许多卓越的功能, 包括:</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></para>
|
||||
<para><application>pine</application> 主要是针对初学者设计的,
|
||||
但也提供了一些高级功能。</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>
|
||||
|
||||
|
|
Loading…
Reference in a new issue