diff options
Diffstat (limited to 'zh_CN.GB2312/books/handbook/mail/chapter.xml')
-rw-r--r-- | zh_CN.GB2312/books/handbook/mail/chapter.xml | 376 |
1 files changed, 156 insertions, 220 deletions
diff --git a/zh_CN.GB2312/books/handbook/mail/chapter.xml b/zh_CN.GB2312/books/handbook/mail/chapter.xml index bf245044fc..2570054790 100644 --- a/zh_CN.GB2312/books/handbook/mail/chapter.xml +++ b/zh_CN.GB2312/books/handbook/mail/chapter.xml @@ -6,29 +6,19 @@ Original Revision: 1.142 $FreeBSD$ --> - -<chapter id="mail"> - <chapterinfo> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mail"> + <info><title>电子邮件</title> <authorgroup> - <author> - <firstname>Bill</firstname> - <surname>Lloyd</surname> - <contrib>Original work by </contrib> - </author> + <author><personname><firstname>Bill</firstname><surname>Lloyd</surname></personname><contrib>Original work by </contrib></author> </authorgroup> <authorgroup> - <author> - <firstname>Jim</firstname> - <surname>Mock</surname> - <contrib>Rewritten by </contrib> - <!-- 2 Dec 1999 --> - </author> + <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Rewritten by </contrib></author> </authorgroup> - </chapterinfo> + </info> - <title>电子邮件</title> + - <sect1 id="mail-synopsis"> + <sect1 xml:id="mail-synopsis"> <title>概述</title> <indexterm><primary>email</primary></indexterm> @@ -115,20 +105,17 @@ </itemizedlist> </sect1> - <sect1 id="mail-using"> + <sect1 xml:id="mail-using"> <title>使用电子邮件</title> <indexterm><primary>POP</primary></indexterm> <indexterm><primary>IMAP</primary></indexterm> <indexterm><primary>DNS</primary></indexterm> <para>邮件交换可以分为 5 部分。它们是: - <link linkend="mail-mua">用户端程序</link>、<link - linkend="mail-mta">服务端守护进程</link>、<link - linkend="mail-dns">DNS</link>、<link - linkend="mail-receive">远程或本地的邮箱</link>、 + <link linkend="mail-mua">用户端程序</link>、<link linkend="mail-mta">服务端守护进程</link>、<link linkend="mail-dns">DNS</link>、<link linkend="mail-receive">远程或本地的邮箱</link>、 当然,<link linkend="mail-host">还有邮件主机自己</link>。</para> - <sect2 id="mail-mua"> + <sect2 xml:id="mail-mua"> <title>用户端程序</title> <para>这包括一些基于命令行的程序,例如 @@ -137,12 +124,11 @@ 和 <command>mail</command>,以及类似 <application>balsa</application>、 <application>xfmail</application> 这样的 <acronym>GUI</acronym> 程序。 此外,还有我们更<quote>熟悉的</quote>WWW 浏览器这样的程序。 - 这些程序简单地通过调用<link - linkend="mail-mta">服务守护进程</link>把邮件事务交给本地的 + 这些程序简单地通过调用<link linkend="mail-mta">服务守护进程</link>把邮件事务交给本地的 <link linkend="mail-host"><quote>邮件主机</quote></link>,或者通过 <acronym>TCP</acronym> 把邮件发出去。</para> </sect2> - <sect2 id="mail-mta"> + <sect2 xml:id="mail-mta"> <title>邮件主机上使用的服务程序</title> <indexterm> <primary>邮件服务程序</primary> @@ -197,7 +183,7 @@ </warning> </sect2> - <sect2 id="mail-dns"> + <sect2 xml:id="mail-dns"> <title>Email 和 DNS</title> <para>域名系统 (DNS) 及其服务程序 @@ -221,7 +207,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> </sect2> - <sect2 id="mail-receive"> + <sect2 xml:id="mail-receive"> <title>接收邮件</title> <indexterm> <primary>电子邮件</primary> @@ -239,7 +225,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> 简单地说, 如果您只在本地阅读邮件,那就没有必要安装 <acronym>POP</acronym> 或 <acronym>IMAP</acronym> 服务。</para> - <sect3 id="pop-and-imap"> + <sect3 xml:id="pop-and-imap"> <title>通过 <acronym>POP</acronym> 和 <acronym>IMAP</acronym> 访问远程的邮件</title> <indexterm><primary>POP</primary></indexterm> @@ -323,7 +309,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> </warning> </sect3> - <sect3 id="local"> + <sect3 xml:id="local"> <title>操作本地的信箱</title> <para>信箱可以在邮件服务器本地直接用 @@ -334,7 +320,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> </sect3> </sect2> - <sect2 id="mail-host"> + <sect2 xml:id="mail-host"> <title>邮件服务器</title> <indexterm><primary>邮件服务器</primary></indexterm> @@ -342,17 +328,13 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> </sect2> </sect1> - <sect1 id="sendmail"> - <sect1info> + <sect1 xml:id="sendmail"> + <info><title><application>sendmail</application> 配置</title> <authorgroup> - <author> - <firstname>Christopher</firstname> - <surname>Shumway</surname> - <contrib>作者:</contrib> - </author> + <author><personname><firstname>Christopher</firstname><surname>Shumway</surname></personname><contrib>作者:</contrib></author> </authorgroup> - </sect1info> - <title><application>sendmail</application> 配置</title> + </info> + <indexterm> <primary><application>sendmail</application></primary> @@ -475,11 +457,11 @@ okay.cyberspammer.com OK 的出错处理程序检测到的错误代码。 当一个邮件与左边列表相匹配时,这个信息会被打印到远程主机上。 下一条记录拒绝来自 Internet 上的一个特别主机的邮件 - <hostid>another.source.of.spam</hostid>。接下来的记录允许来自 - <hostid role="fqdn">okay.cyberspammer.com</hostid> 的邮件连接, - 这条记录比上面那行 <hostid role="domainname">cyberspammer.com</hostid> + <systemitem>another.source.of.spam</systemitem>。接下来的记录允许来自 + <systemitem class="fqdomainname">okay.cyberspammer.com</systemitem> 的邮件连接, + 这条记录比上面那行 <systemitem class="fqdomainname">cyberspammer.com</systemitem> 更准确。更多的准确匹配使不准确的匹配无效。最后一行允许电子邮件从主机和 - <hostid>128.32</hostid> 开头的 IP 地址转发。 + <systemitem>128.32</systemitem> 开头的 IP 地址转发。 这些主机将被允许通过这台邮件服务器前往其它邮件服务器发送邮件。</para> <para>当这个文件被升级的时候,您必须在 @@ -502,12 +484,12 @@ procmail: "|/usr/local/bin/procmail"</programlisting> </example> <para>这个文件的格式很简单; 冒号左边的邮箱名, 会被展开成右边的形式。 - 第一个例子简单地将 <username>root</username> - 邮箱扩展为 <username>localuser</username>, 之后将继续在别名数据库中进行查找。 + 第一个例子简单地将 <systemitem class="username">root</systemitem> + 邮箱扩展为 <systemitem class="username">localuser</systemitem>, 之后将继续在别名数据库中进行查找。 如果没有找到匹配的记录, 则邮件会被发给本地用户 - <username>localuser</username>。 第二个例子展示了一个邮件列表。 - 发送到 <username>ftp-bugs</username> 的邮件会被展开成 <username>joe</username>, - <username>eric</username> 和 <username>paul</username> 这三个邮箱。 + <systemitem class="username">localuser</systemitem>。 第二个例子展示了一个邮件列表。 + 发送到 <systemitem class="username">ftp-bugs</systemitem> 的邮件会被展开成 <systemitem class="username">joe</systemitem>, + <systemitem class="username">eric</systemitem> 和 <systemitem class="username">paul</systemitem> 这三个邮箱。 注意也可以通过 <email>user@example.com</email> 这样的形式来指定远程的邮箱。 接下来的例子展示了如何把邮件写入到文件中, 这个例子中是 <filename>/dev/null</filename>。 最后一个例子展示了如何将邮件发给一个程序, @@ -523,8 +505,8 @@ procmail: "|/usr/local/bin/procmail"</programlisting> <para>这是一个 &man.sendmail.8; 被接受为一个本地主机名的主机名列表。 可以放入任何 <application>sendmail</application> 将从那里收发邮件的域名或主机。例如,如果这个邮件服务器从域 - <hostid role="domainname">example.com</hostid> 和主机 - <hostid role="fqdn">mail.example.com</hostid> 接收邮件,它的 + <systemitem class="fqdomainname">example.com</systemitem> 和主机 + <systemitem class="fqdomainname">mail.example.com</systemitem> 接收邮件,它的 <filename>local-host-names</filename> 文件,可以看起来象如下这样:</para> <programlisting>example.com @@ -570,38 +552,30 @@ postmaster@example.com postmaster@noc.example.net </example> <para>在上面这个例子中, 我们映射了一个域 - <hostid role="domainname">example.com</hostid>。 + <systemitem class="fqdomainname">example.com</systemitem>。 这个文件是按照从上到下, 首个匹配的方式来处理的。 第一项将 - <email>root@example.com</email> 映射到本地邮箱 <username>root</username>。 + <email>root@example.com</email> 映射到本地邮箱 <systemitem class="username">root</systemitem>。 下一项则将 <email>postmaster@example.com</email> 映射到位于 - <hostid role="fqdn">noc.example.net</hostid> 的 <username>postmaster</username>。 - 最后, 如果没有来自 <hostid role="domainname">example.com</hostid> + <systemitem class="fqdomainname">noc.example.net</systemitem> 的 <systemitem class="username">postmaster</systemitem>。 + 最后, 如果没有来自 <systemitem class="fqdomainname">example.com</systemitem> 的匹配, 则将使用最后一条映射, 它表示将所有的其它邮件发给 - <hostid role="domainname">example.com</hostid> 域的某个人。 - 这样, 将映射到本地信箱 <username>joe</username>。</para> + <systemitem class="fqdomainname">example.com</systemitem> 域的某个人。 + 这样, 将映射到本地信箱 <systemitem class="username">joe</systemitem>。</para> </sect2> </sect1> - <sect1 id="mail-changingmta"> - <sect1info> + <sect1 xml:id="mail-changingmta"> + <info><title>改变您的邮件传输代理程序</title> <authorgroup> - <author> - <firstname>Andrew</firstname> - <surname>Boothman</surname> - <contrib>Written by </contrib> - </author> + <author><personname><firstname>Andrew</firstname><surname>Boothman</surname></personname><contrib>Written by </contrib></author> </authorgroup> <authorgroup> - <author> - <firstname>Gregory</firstname> - <surname>Neil Shapiro</surname> - <contrib>Information taken from e-mails written by </contrib> - </author> + <author><personname><firstname>Gregory</firstname><surname>Neil Shapiro</surname></personname><contrib>Information taken from e-mails written by </contrib></author> </authorgroup> - </sect1info> - <title>改变您的邮件传输代理程序</title> + </info> + <indexterm> <primary>邮件</primary> <secondary>改变mta</secondary> @@ -634,7 +608,7 @@ postmaster@example.com postmaster@noc.example.net <para>具体配置请参考您所选择的 MTA 软件的配置文档或其它相关资料。</para> </sect2> - <sect2 id="mail-disable-sendmail"> + <sect2 xml:id="mail-disable-sendmail"> <title>禁用 <application>sendmail</application></title> <warning> @@ -743,7 +717,7 @@ purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> </sect2> </sect1> - <sect1 id="mail-trouble"> + <sect1 xml:id="mail-trouble"> <title>疑难解答</title> <indexterm> <primary>邮件</primary> @@ -759,23 +733,22 @@ purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> <answer> <para>您可能会发现主机实际上是在另外一个域里面, 例如,如果您是在 - <hostid role="fqdn">foo.bar.edu</hostid> 里,而您要找一台叫 - <hostid>mumble</hostid> 的主机,它在 - <hostid role="domainname">bar.edu</hostid> 域里,您就必须用完整的域名 - <hostid role="fqdn">mumble.bar.edu</hostid>,而不是用 - <hostid>mumble</hostid>。</para> + <systemitem class="fqdomainname">foo.bar.edu</systemitem> 里,而您要找一台叫 + <systemitem>mumble</systemitem> 的主机,它在 + <systemitem class="fqdomainname">bar.edu</systemitem> 域里,您就必须用完整的域名 + <systemitem class="fqdomainname">mumble.bar.edu</systemitem>,而不是用 + <systemitem>mumble</systemitem>。</para> <para>传统上,这在 BSD BIND<indexterm> <primary>BIND</primary></indexterm> resolvers 中是可行的。 然而目前随 FreeBSD 附带的 <application>BIND</application> 已不为同一域外提供缩写服务。所以,这个不完整的主机名 - <hostid>mumble</hostid> 必须以 <hostid - role="fqdn">mumble.foo.bar.edu</hostid> 这种形式才能被找到, + <systemitem>mumble</systemitem> 必须以 <systemitem class="fqdomainname">mumble.foo.bar.edu</systemitem> 这种形式才能被找到, 或者将在根域中搜索它。</para> <para>这跟以前的处理是不同的,以前版本将会继续寻找 - <hostid role="domainname">mumble.bar.edu</hostid> 和 - <hostid role="domainname">mumble.edu</hostid>。 + <systemitem class="fqdomainname">mumble.bar.edu</systemitem> 和 + <systemitem class="fqdomainname">mumble.edu</systemitem>。 如果您想要了解这种方式是否是好,或者它有什么安全方面的漏洞, 请参阅 RFC 1535 文档。</para> @@ -821,7 +794,7 @@ purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> <primary>MX record</primary></indexterm></programlisting> <para><application>sendmail</application> 的 FAQ 可以在 - <ulink url="http://www.sendmail.org/faq/"></ulink> 找到, + <uri xlink:href="http://www.sendmail.org/faq/">http://www.sendmail.org/faq/</uri> 找到, 如果您想要对您的邮件做任何的<quote>调整</quote>, 则推荐首先看一看它。</para> </answer> @@ -844,26 +817,26 @@ purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> <para>另一种方法是找到一个专职的服务器来为您的域提供副 MX 主机服务。 例如,如果您公司的域名是 - <hostid role="domainname">example.com</hostid>,您的互连网服务提供者把 - <hostid role="domainname">example.net</hostid> 作为您域的副 MX 服务:</para> + <systemitem class="fqdomainname">example.com</systemitem>,您的互连网服务提供者把 + <systemitem class="fqdomainname">example.net</systemitem> 作为您域的副 MX 服务:</para> <programlisting>example.com. MX 10 example.com. MX 20 example.net.</programlisting> <para>只有一台主机被指定当做您的最终收信主机 - (在 <hostid role="domainname">example.com</hostid> 主机的 + (在 <systemitem class="fqdomainname">example.com</systemitem> 主机的 <filename>/etc/mail/sendmail.cf</filename> 文件中添加 <literal>Cw example.com</literal>)。</para> <para>当 <command>sendmail</command> 试图分发邮件的时候, - 它会尝试通过 modem 连接到您 (<hostid role="domainname">example.com</hostid>)。 + 它会尝试通过 modem 连接到您 (<systemitem class="fqdomainname">example.com</systemitem>)。 因为您并不在线,所以总是会得到一个超时的错误。 <application>sendmail</application> 将会把邮件发送到副 MX<indexterm><primary>MX record</primary> </indexterm> 主机,也就是说,您的互连网服务提供者 - (<hostid role="domainname">example.net</hostid>)。副 + (<systemitem class="fqdomainname">example.net</systemitem>)。副 MX 主机将周期性的尝试连接并发送邮件到您的主机 - (<hostid role="domainname">example.com</hostid>)。</para> + (<systemitem class="fqdomainname">example.com</systemitem>)。</para> <para>您也许想要使用下面的这个登录脚本:</para> @@ -875,7 +848,7 @@ purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> <para>如果您想要为一个用户建立一个分开登录的脚本, 您可以使用 <command>sendmail -qRexample.com</command> 替换上面的脚本。这样将使所有的邮件按照您的 - <hostid role="domainname">example.com</hostid> + <systemitem class="fqdomainname">example.com</systemitem> 队列立即被处理。</para> <para>更深入的方法可以参考下面这段:</para> @@ -956,12 +929,12 @@ www.example.org</programlisting> </qandaset> </sect1> - <sect1 id="mail-advanced"> + <sect1 xml:id="mail-advanced"> <title>高级主题</title> <para>下面这节将介绍邮件配置和为整个域安装邮件。</para> - <sect2 id="mail-config"> + <sect2 xml:id="mail-config"> <title>基本配置</title> <indexterm> <primary>邮件</primary> @@ -977,13 +950,12 @@ www.example.org</programlisting> <itemizedlist> <listitem> <para>运行您自己的域名服务器和您自己的域。例如, - <hostid role="domainname">FreeBSD.org</hostid></para> + <systemitem class="fqdomainname">FreeBSD.org</systemitem></para> </listitem> <listitem> <para>获得直接分发给您主机的邮件。您可以直接使用您当前的 - DNS 名称。例如,<hostid - role="fqdn">example.FreeBSD.org</hostid>。</para> + DNS 名称。例如,<systemitem class="fqdomainname">example.FreeBSD.org</systemitem>。</para> </listitem> </itemizedlist> @@ -1018,7 +990,7 @@ example.FreeBSD.org has address 204.216.27.XX</screen> <para>如果您看到这些, 则直接发往 <email role="nolink">yourlogin@example.FreeBSD.org</email> 应该已经可以正常工作了 (假设 <application>sendmail</application> - 已经在 <hostid role="fqdn">example.FreeBSD.org</hostid> 上正确启动了)。</para> + 已经在 <systemitem class="fqdomainname">example.FreeBSD.org</systemitem> 上正确启动了)。</para> <para>如果您看到这些:</para> @@ -1026,23 +998,21 @@ example.FreeBSD.org has address 204.216.27.XX</screen> example.FreeBSD.org has address 204.216.27.XX example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen> - <para>所有发送到主机 (<hostid - role="fqdn">example.FreeBSD.org</hostid>) 的邮件在相同的用户名下将会被 - <hostid>hub</hostid> 终止的收集,而不是直接发送到您的主机。</para> + <para>所有发送到主机 (<systemitem class="fqdomainname">example.FreeBSD.org</systemitem>) 的邮件在相同的用户名下将会被 + <systemitem>hub</systemitem> 终止的收集,而不是直接发送到您的主机。</para> <para>上面的信息是通过您的 DNS 服务器来处理的。支持邮件路由信息的 DNS 记录是 <emphasis>邮件</emphasis> <emphasis>交换</emphasis> 记录。如果 MX 记录不存在,邮件将通过它自己的 IP 地址被直接的发送到主机。</para> - <para><hostid - role="fqdn">freefall.FreeBSD.org</hostid>的MX记录如下所示:</para> + <para><systemitem class="fqdomainname">freefall.FreeBSD.org</systemitem>的MX记录如下所示:</para> <programlisting>freefall MX 30 mail.crl.net freefall MX 40 agora.rdrop.com freefall MX 10 freefall.FreeBSD.org freefall MX 20 who.cdrom.com</programlisting> - <para>正如您说看到的,<hostid>freefall</hostid> 有很多 MX 记录。 + <para>正如您说看到的,<systemitem>freefall</systemitem> 有很多 MX 记录。 最小编号的 MX 记录是直接接收邮件的主机。如果因为一些原因它不可用,其它 (有时会访问<quote>backup MXes</quote>)接收信息将会暂时接替并做临时的排列。</para> @@ -1050,13 +1020,13 @@ freefall MX 20 who.cdrom.com</programlisting> Internet 连接。您的 ISP 或者其它友好的站点可以没有任何问题的为您提供这个服务。</para> </sect2> - <sect2 id="mail-domain"> + <sect2 xml:id="mail-domain"> <title>Mail for Your Domain</title> <para>为了设置一个<quote>邮件主机</quote>(又称邮件服务器) 您必须要把许多邮件发送到与它相连的几个工作站中。 基本上,您想要<quote>要求</quote>在您域的每个主机的所有邮件 - (在这个例子里是 <hostid role="fqdn">*.FreeBSD.org</hostid>) + (在这个例子里是 <systemitem class="fqdomainname">*.FreeBSD.org</systemitem>) 转向到您的邮件服务器,从而使您的用户可以在主邮件服务器里接收他们的邮件。</para> <indexterm><primary>DNS</primary></indexterm> @@ -1079,19 +1049,19 @@ freefall MX 20 who.cdrom.com</programlisting> <para>如果您正在使用虚拟邮件主机,下面的信息将会对您有用。 在这个例子里,我们假定您有一个客户并且他有自己的域, - 这个例子中是 <hostid role="domainname">customer1.org</hostid>,您要把 - <hostid role="domainname">customer1.org</hostid> - 所有的邮件发送到您的邮件主机 <hostid role="fqdn">mail.myhost.com</hostid>。 + 这个例子中是 <systemitem class="fqdomainname">customer1.org</systemitem>,您要把 + <systemitem class="fqdomainname">customer1.org</systemitem> + 所有的邮件发送到您的邮件主机 <systemitem class="fqdomainname">mail.myhost.com</systemitem>。 您的 DNS 记录应该是这样:</para> <programlisting>customer1.org MX 10 mail.myhost.com</programlisting> <para>您 <emphasis>不</emphasis> 需要有个 A 记录, - 如果您只为域 <hostid role="domainname">customer1.org</hostid> + 如果您只为域 <systemitem class="fqdomainname">customer1.org</systemitem> 处理邮件。</para> <note> - <para>必须清楚 <hostid role="domainname">customer1.org</hostid> + <para>必须清楚 <systemitem class="fqdomainname">customer1.org</systemitem> 将不能工作,除非存在一个 A 记录。</para> </note> @@ -1118,7 +1088,7 @@ freefall MX 20 who.cdrom.com</programlisting> </sect2> </sect1> - <sect1 id="SMTP-UUCP"> + <sect1 xml:id="SMTP-UUCP"> <title>SMTP 与 UUCP</title> <para><application>sendmail</application> 的配置,在 @@ -1200,8 +1170,8 @@ if-bus.UUCP uucp-dom:if-bus 而由某些 UUCP 邻居取代的特殊情况,这是为了走<quote>捷径</quote>。 下一行处理本地网的邮件让它可以使用 SMTP 来传送。 最后,UUCP 邻居提起。UUCP 虚拟域的记载, - 允许一个 <literal><replaceable>uucp-neighbor - </replaceable>!<replaceable>recipient</replaceable></literal> + 允许一个 <literal>uucp-neighbor + !recipient</literal> 推翻默认规则。最后一行则以一个单独的句点最为结束, 以 UUCP 传送到提供您所有的邮件网关的 UUCP 邻居。 所有在 <literal>uucp-dom:</literal> 关键字里的节点名称必须是有效的 @@ -1219,8 +1189,7 @@ if-bus.UUCP uucp-dom:if-bus <literal>3,0</literal>,接着输入您希望测试的邮件路径位置。 最后一行告诉您使用邮件代理程序, 代理程序会通知目的主机以及 (可能转换) 地址。 - 要离开此模式请按 <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>。</para> + 要离开此模式请按 <keycombo action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>。</para> <screen>&prompt.user; <userinput>sendmail -bt</userinput> ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) @@ -1232,18 +1201,14 @@ parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceab <prompt>></prompt> <userinput>^D</userinput></screen> </sect1> - <sect1 id="outgoing-only"> - <sect1info> + <sect1 xml:id="outgoing-only"> + <info><title>只发送邮件的配置</title> <authorgroup> - <author> - <firstname>Bill</firstname> - <surname>Moran</surname> - <contrib>Contributed by </contrib> - </author> + <author><personname><firstname>Bill</firstname><surname>Moran</surname></personname><contrib>Contributed by </contrib></author> </authorgroup> - </sect1info> + </info> - <title>只发送邮件的配置</title> + <para>许多时候, 可能只希望通过转发服务器来发送邮件。 典型的情况包括:</para> @@ -1272,14 +1237,14 @@ parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceab <quote>邮件服务器</quote> 的条款。</para> <para>满足这些需要最简单的办法是安装 - <filename role="package">mail/ssmtp</filename> port。 - 以 <username>root</username> 身份执行下面的命令:</para> + <package>mail/ssmtp</package> port。 + 以 <systemitem class="username">root</systemitem> 身份执行下面的命令:</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> 就可以用四行 + <package>mail/ssmtp</package> 就可以用四行 <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename> 来配置:</para> <programlisting>root=yourrealemail@example.com @@ -1288,9 +1253,9 @@ rewriteDomain=example.com hostname=_HOSTNAME_</programlisting> <para>请确认您为 - <username>root</username> 使用了真实的电子邮件地址。 + <systemitem class="username">root</systemitem> 使用了真实的电子邮件地址。 用您的 ISP 提供的外发邮件转发服务器名称, - 替换掉 <hostid role="fqdn">mail.example.com</hostid> (某些 ISP + 替换掉 <systemitem class="fqdomainname">mail.example.com</systemitem> (某些 ISP 可能将其称为 <quote>外发邮件服务器</quote> 或 <quote>SMTP 服务器</quote>)。</para> @@ -1298,7 +1263,7 @@ hostname=_HOSTNAME_</programlisting> 包括邮件发出服务在内。 请参见 <xref linkend="mail-disable-sendmail"/> 以了解进一步的细节。</para> - <para><filename role="package">mail/ssmtp</filename> 也提供了一些其他选项。 + <para><package>mail/ssmtp</package> 也提供了一些其他选项。 请参见在 <filename>/usr/local/etc/ssmtp</filename> 中的示例配置, 或者 <application>ssmtp</application> @@ -1310,7 +1275,7 @@ hostname=_HOSTNAME_</programlisting> 或使您的电脑被劫持用于发送垃圾邮件的风险。</para> </sect1> - <sect1 id="SMTP-dialup"> + <sect1 xml:id="SMTP-dialup"> <title>拨号连接时使用邮件传送</title> <para>如果您有静态的 IP 地址, 就应该不用修改任何默认的配置。 @@ -1320,15 +1285,14 @@ hostname=_HOSTNAME_</programlisting> <para>如果您的 IP 地址是动态分配的, 并使用 PPP 连接拨入 Internet, 则您可能会从 ISP 的邮件服务器上得到一个信箱。 这里我们假设您的 ISP 的域名是 - <hostid role="domainname">example.net</hostid>, 您的用户名是 - <username>user</username>, 您把自己的机器称作 - <hostid role="fqdn">bsd.home</hostid>, 而您的 ISP 告诉您可以使用 - <hostid role="fqdn">relay.example.net</hostid> 来转发邮件。</para> + <systemitem class="fqdomainname">example.net</systemitem>, 您的用户名是 + <systemitem class="username">user</systemitem>, 您把自己的机器称作 + <systemitem class="fqdomainname">bsd.home</systemitem>, 而您的 ISP 告诉您可以使用 + <systemitem class="fqdomainname">relay.example.net</systemitem> 来转发邮件。</para> <para>为了从邮箱收取邮件, 需要安装一个收信代理。 <application>fetchmail</application> 是一个能够支持许多种不同协议的不错的选择。 - 这个程序可以通过 package 或 Ports Collection (<filename - role="package">mail/fetchmail</filename>) 来安装。 + 这个程序可以通过 package 或 Ports Collection (<package>mail/fetchmail</package>) 来安装。 通常, 您的 <acronym>ISP</acronym> 会提供 <acronym>POP</acronym>。 如果您使用用户 <acronym>PPP</acronym>,您还可以在 Internet 连接建立时自动地抓取邮件, 这可以通过在 @@ -1347,17 +1311,15 @@ hostname=_HOSTNAME_</programlisting> <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> 主目录中创建一个 + <para>假设您在 <systemitem class="fqdomainname">bsd.home</systemitem> 上有一个 + <systemitem class="username">user</systemitem> 用户。 在 <systemitem class="fqdomainname">bsd.home</systemitem> 上的 + <systemitem class="username">user</systemitem> 主目录中创建一个 <filename>.fetchmailrc</filename> 文件:</para> <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting> <para>因为包含了密码 <literal>MySecret</literal>, 这个文件应该只有 - <username>user</username> 可读。</para> + <systemitem class="username">user</systemitem> 可读。</para> <para>要使用正确的 <literal>from:</literal> 头来发送文件, 您必须告诉 @@ -1365,8 +1327,7 @@ hostname=_HOSTNAME_</programlisting> <email>user@example.net</email> 而不是i <email role="nolink">user@bsd.home</email>。 另外, 您可能也需要要求 - <application>sendmail</application> 通过 <hostid - role="fqdn">relay.example.net</hostid> 来发送邮件, + <application>sendmail</application> 通过 <systemitem class="fqdomainname">relay.example.net</systemitem> 来发送邮件, 以便更快地传送它们。</para> <para>以下的 <filename>.mc</filename> 文件应该可以满足您的需求:</para> @@ -1394,18 +1355,14 @@ define(`confDELIVERY_MODE',`deferred')dnl</programlisting> 不要忘记重启 <application>sendmail</application>。</para> </sect1> - <sect1 id="SMTP-Auth"> - <sect1info> + <sect1 xml:id="SMTP-Auth"> + <info><title>SMTP 验证</title> <authorgroup> - <author> - <firstname>James</firstname> - <surname>Gorham</surname> - <contrib>作者:</contrib> - </author> + <author><personname><firstname>James</firstname><surname>Gorham</surname></personname><contrib>作者:</contrib></author> </authorgroup> - </sect1info> + </info> - <title>SMTP 验证</title> + <para>在您的邮件服务器上启用 <acronym>SMTP</acronym> 验证有很多好处。 <acronym>SMTP</acronym> 验证可以让 @@ -1415,16 +1372,16 @@ define(`confDELIVERY_MODE',`deferred')dnl</programlisting> <procedure> <step> - <para>从 ports 安装 <filename role="package">security/cyrus-sasl2</filename>。 + <para>从 ports 安装 <package>security/cyrus-sasl2</package>。 这个 port 位于 - <filename role="package">security/cyrus-sasl2</filename>。 - <filename role="package">security/cyrus-sasl2</filename> port + <package>security/cyrus-sasl2</package>。 + <package>security/cyrus-sasl2</package> port 支持很多可以在编译时指定的可选项。 由于我们要使用 SMTP 身份验证, 因此要确认没有禁用 <option>LOGIN</option> 选项。</para> </step> <step> - <para>安装完 <filename role="package">security/cyrus-sasl2</filename> 之后, + <para>安装完 <package>security/cyrus-sasl2</package> 之后, 编辑 <filename>/usr/local/lib/sasl2/Sendmail.conf</filename> (如果不存在则建立一个) 并在其中增加下列配置:</para> @@ -1432,7 +1389,7 @@ define(`confDELIVERY_MODE',`deferred')dnl</programlisting> </step> <step> - <para>接下来, 安装 <filename role="package">security/cyrus-sasl2-saslauthd</filename>, + <para>接下来, 安装 <package>security/cyrus-sasl2-saslauthd</package>, 编辑 <filename>/etc/rc.conf</filename> 并加入下列配置:</para> <programlisting>saslauthd_enable="YES"</programlisting> @@ -1456,9 +1413,9 @@ SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2</programlisting> <para>这些配置将告诉系统在联编 <application>sendmail</application> - 时使用适当的配置选项来在编译过程中连入 <filename role="package">cyrus-sasl2</filename>. + 时使用适当的配置选项来在编译过程中连入 <package>cyrus-sasl2</package>. 在重新编译 <application>sendmail</application> - 之前, 请确认已经安装了 <filename role="package">cyrus-sasl2</filename>。</para> + 之前, 请确认已经安装了 <package>cyrus-sasl2</package>。</para> </step> <step> @@ -1513,22 +1470,18 @@ define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlis 中的信息。</para> <para>如欲了解更多的信息, 请参看 <application>sendmail</application> - 网站上的 <ulink url="http://www.sendmail.org/~ca/email/auth.html"> 关于 - <acronym>SMTP</acronym> 验证</ulink> 的介绍。</para> + 网站上的 <link xlink:href="http://www.sendmail.org/~ca/email/auth.html"> 关于 + <acronym>SMTP</acronym> 验证</link> 的介绍。</para> </sect1> - <sect1 id="mail-agents"> - <sect1info> + <sect1 xml:id="mail-agents"> + <info><title>邮件用户代理</title> <authorgroup> - <author> - <firstname>Marc</firstname> - <surname>Silver</surname> - <contrib>Contributed by </contrib> - </author> + <author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Contributed by </contrib></author> </authorgroup> - </sect1info> - <title>邮件用户代理</title> + </info> + <indexterm> <primary>邮件用户代理</primary> @@ -1549,7 +1502,7 @@ define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlis 或 <command>mail</command> 这样的控制台程序, 或者某些大型机构使用的 web 界面。</para> - <sect2 id="mail-command"> + <sect2 xml:id="mail-command"> <title>mail</title> <para>&man.mail.1; 是 &os; 中默认的邮件用户代理 @@ -1562,8 +1515,7 @@ define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlis <acronym>IMAP</acronym> 服务器支持, 然而这些信箱可以通过类似 <application>fetchmail</application> 这样的应用程序, 来下载到本地的 <filename>mbox</filename> 文件中。 - 这一应用程序在本章的稍后部分 (<xref - linkend="mail-fetchmail"/>) 进行了介绍。</para> + 这一应用程序在本章的稍后部分 (<xref linkend="mail-fetchmail"/>) 进行了介绍。</para> <para>要收发邮件, 只需简单地使用 <command>mail</command> 命令, @@ -1572,7 +1524,7 @@ define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlis <screen>&prompt.user; <userinput>mail</userinput></screen> <para>用户保存在 - <filename class="directory">/var/mail</filename> + <filename>/var/mail</filename> 中的信箱的内容会被 <command>mail</command> 程序自动地读取。 如果信箱是空的, 程序会退出并给出一个消息表示没有邮件。 一旦读完了信箱, 将启动应用程序的界面, @@ -1581,7 +1533,7 @@ define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlis <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 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> @@ -1649,13 +1601,12 @@ EOT</screen> 因而在这方面他的功能很弱。 新的 <acronym>MUA</acronym>, 如 <application>mutt</application>, 能够更好地处理附件。 但如果您仍然希望使用 - <command>mail</command> 命令, 那么 <filename - role="package">converters/mpack</filename> port + <command>mail</command> 命令, 那么 <package>converters/mpack</package> port 则是一个值得考虑的附加工具。</para> </note> </sect2> - <sect2 id="mutt-command"> + <sect2 xml:id="mutt-command"> <title>mutt</title> <para><application>mutt</application> 是一个短小精悍的邮件用户代理, @@ -1685,22 +1636,18 @@ EOT</screen> <para>所有这些特性, 都使得 <application>mutt</application> - 得以跻身于目前最先进的邮件用户代理的行列。 请参考 <ulink - url="http://www.mutt.org"></ulink> + 得以跻身于目前最先进的邮件用户代理的行列。 请参考 <uri xlink:href="http://www.mutt.org">http://www.mutt.org</uri> 以了解更多关于 <application>mutt</application> 的资料。</para> <para>稳定版本的 <application>mutt</application> - 可以通过 <filename - role="package">mail/mutt</filename> port 来安装, - 而开发版本, 则可以通过使用 <filename - role="package">mail/mutt-devel</filename> port 安装。 + 可以通过 <package>mail/mutt</package> port 来安装, + 而开发版本, 则可以通过使用 <package>mail/mutt-devel</package> port 安装。 通过 port 安装之后,可以通过下面的命令来启动 <application>mutt</application>:</para> <screen>&prompt.user; <userinput>mutt</userinput></screen> - <para><application>mutt</application> 会自动读取 <filename - class="directory">/var/mail</filename> 中的用户信箱, + <para><application>mutt</application> 会自动读取 <filename>/var/mail</filename> 中的用户信箱, 并显示其内容。 如果用户信箱中没有邮件, 则 <application>mutt</application> 将等待来自用户的命令。 下面的例子展示了 <application>mutt</application> @@ -1735,7 +1682,7 @@ EOT</screen> 文件来订制, 方法是修改 <literal>editor</literal> 变量或配置 <envar>EDITOR</envar> 环境变量。 请参见 - <ulink url="http://www.mutt.org/"></ulink> 以了解配置 + <uri xlink:href="http://www.mutt.org/">http://www.mutt.org/</uri> 以了解配置 <application>mutt</application> 的进一步信息。</para> </note> @@ -1761,7 +1708,7 @@ EOT</screen> </sect2> - <sect2 id="alpine-command"> + <sect2 xml:id="alpine-command"> <title>alpine</title> <para><application>alpine</application> 主要是针对初学者设计的, @@ -1779,8 +1726,7 @@ EOT</screen> </warning> <para>最新版本的 <application>alpine</application> - 可以通过使用 <filename - role="package">mail/alpine</filename> port 来安装。 + 可以通过使用 <package>mail/alpine</package> port 来安装。 装好之后, <application>alpine</application> 可以通过下面的命令启动:</para> @@ -1807,7 +1753,7 @@ EOT</screen> 主菜单下面是完成各种功能的快捷键说明。</para> <para>由 <application>alpine</application> - 打开的默认目录是 <filename class="directory">inbox</filename>。 + 打开的默认目录是 <filename>inbox</filename>。 要查看邮件索引, 应按 <keycap>I</keycap>, 或选择下面所示的 <guimenuitem>MESSAGE INDEX</guimenuitem> 选项:</para> @@ -1857,23 +1803,19 @@ EOT</screen> <para><application>alpine</application> 程序可以通过使用主菜单中的 <guimenuitem>SETUP</guimenuitem> 选项来进行定制。 - 请参考 <ulink url="http://www.washington.edu/alpine/"></ulink> + 请参考 <uri xlink:href="http://www.washington.edu/alpine/">http://www.washington.edu/alpine/</uri> 来了解更多信息。</para> </sect2> </sect1> - <sect1 id="mail-fetchmail"> - <sect1info> + <sect1 xml:id="mail-fetchmail"> + <info><title>使用 fetchmail</title> <authorgroup> - <author> - <firstname>Marc</firstname> - <surname>Silver</surname> - <contrib>Contributed by </contrib> - </author> + <author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Contributed by </contrib></author> </authorgroup> - </sect1info> - <title>使用 fetchmail</title> + </info> + <indexterm> <primary>fetchmail</primary> @@ -1885,7 +1827,7 @@ EOT</screen> <acronym>IMAP</acronym> 和 <acronym>POP</acronym> 服务器上下载邮件, 并保存到本地的信箱中; 这样, 访问这些邮件就变得更方便了。 <application>fetchmail</application> 可以通过 - <filename role="package">mail/fetchmail</filename> port 安装, + <package>mail/fetchmail</package> port 安装, 它提供了许多有用的功能, 其中包括:</para> <itemizedlist> @@ -1923,11 +1865,10 @@ EOT</screen> <para>下面的 <filename>.fetchmailrc</filename> 提供了一个将某一用户的信箱通过 <acronym>POP</acronym> 下载到本地的例子。 它告诉 - <application>fetchmail</application> 连接到 <hostid - role="fqdn">example.com</hostid>, 并使用用户名 - <username>joesoap</username> 和口令 + <application>fetchmail</application> 连接到 <systemitem class="fqdomainname">example.com</systemitem>, 并使用用户名 + <systemitem class="username">joesoap</systemitem> 和口令 <literal>XXX</literal>。 这个例子假定 - <username>joesoap</username> 同时也是本地的系统用户。</para> + <systemitem class="username">joesoap</systemitem> 同时也是本地的系统用户。</para> <programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting> @@ -1949,21 +1890,16 @@ user "john", with password "XXXXX", is "myth" here;</programlisting> <screen>&prompt.user; <userinput>fetchmail -d 600</userinput></screen> <para>更多关于 <application>fetchmail</application> 的资料, - 可以在 <ulink - url="http://fetchmail.berlios.de/"></ulink> 找到。</para> + 可以在 <uri xlink:href="http://fetchmail.berlios.de/">http://fetchmail.berlios.de/</uri> 找到。</para> </sect1> - <sect1 id="mail-procmail"> - <sect1info> + <sect1 xml:id="mail-procmail"> + <info><title>使用 procmail</title> <authorgroup> - <author> - <firstname>Marc</firstname> - <surname>Silver</surname> - <contrib>Contributed by </contrib> - </author> + <author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Contributed by </contrib></author> </authorgroup> - </sect1info> - <title>使用 procmail</title> + </info> + <indexterm> <primary>procmail</primary> @@ -1973,7 +1909,7 @@ user "john", with password "XXXXX", is "myth" here;</programlisting> 它允许用户定义 <quote>规则</quote>, 并用这些规则来匹配进入的邮件, 进而执行某些特定的功能, 或将这些邮件转发到其他信箱和/或邮件地址。 <application>procmail</application> 可以通过 - <filename role="package">mail/procmail</filename> port 来安装。 + <package>mail/procmail</package> port 来安装。 装好之后, 可以直接把它集成到绝大多数 <acronym>MTA</acronym> 中; 请参考您使用的 <acronym>MTA</acronym> 的文档了解具体的作法。 另外, @@ -2020,7 +1956,7 @@ alternate</programlisting> ^Subject:.*Spam /dev/null</programlisting> - <para>将收到的所有 <hostid role="domainname">&os;.org</hostid> 邮件列表的邮件, + <para>将收到的所有 <systemitem class="fqdomainname">&os;.org</systemitem> 邮件列表的邮件, 转发到各自的信箱:</para> <programlisting>:0 |