⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendmail.html

📁 这是很好的学习嵌入式LINUX的文章
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>sendmail 配置</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="电子邮件" href="mail.html" /><link rel="PREVIOUS" title="使用电子邮件" href="mail-using.html" /><link rel="NEXT" title="改变你的邮件传输代理程序" href="mail-changingmta.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="mail-using.html"accesskey="P">后退</a></td><td width="80%" align="center" valign="bottom">章 22. 电子邮件</td><td width="10%" align="right" valign="bottom"><a href="mail-changingmta.html"accesskey="N">前进</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="SENDMAIL" name="SENDMAIL">22.3. <bclass="APPLICATION">sendmail</b> 配置</a></h1><i class="AUTHORGROUP"><span class="CONTRIB">作者:</span>Christopher Shumway.</i> <p><span class="CITEREFENTRY"><span class="REFENTRYTITLE">sendmail</span>(8)</span> 是FreeBSD 中的默认邮件传输代理 (MTA)。 <b class="APPLICATION">sendmail</b>的任务是从邮件用户代理 (<acronym class="ACRONYM">MUA</acronym>)接收邮件然后根据配置文件的定义把它们送给配置好的的寄送程序。 <bclass="APPLICATION">sendmail</b> 也能接受网络连接,并且发送邮件到本地邮箱或者发送它到其它程序。</p><p><b class="APPLICATION">sendmail</b> 使用下列配置文件:</p><div class="INFORMALTABLE"><a id="AEN31429" name="AEN31429"></a><table border="0" frame="void" class="CALSTABLE"><col /><col /><thead><tr><th>文件名</th><th>功能</th></tr></thead><tbody><tr><td><tt class="FILENAME">/etc/mail/access</tt> </td><td><b class="APPLICATION">sendmail</b> 访问数据库文件</td></tr><tr><td><tt class="FILENAME">/etc/mail/aliases</tt> </td><td>邮箱别名</td></tr><tr><td><tt class="FILENAME">/etc/mail/local-host-names</tt> </td><td><b class="APPLICATION">sendmail</b> 接收邮件主机列表</td></tr><tr><td><tt class="FILENAME">/etc/mail/mailer.conf</tt> </td><td>邮寄配置程序</td></tr><tr><td><tt class="FILENAME">/etc/mail/mailertable</tt> </td><td>邮件分发列表</td></tr><tr><td><tt class="FILENAME">/etc/mail/sendmail.cf</tt> </td><td><b class="APPLICATION">sendmail</b>的主配置文件</td></tr><tr><td><tt class="FILENAME">/etc/mail/virtusertable</tt> </td><td>虚拟用户和域列表</td></tr></tbody></table></div><div class="SECT2"><h2 class="SECT2"><a id="AEN31467" name="AEN31467">22.3.1. <ttclass="FILENAME">/etc/mail/access</tt></a></h2><p>访问数据库定义了什么主机或者IP地址可以访问本地邮件服务器和它们是哪种类型的访问.主机可能会列出<var class="OPTION">OK</var>, <var class="OPTION">REJECT</var>, <varclass="OPTION">RELAY</var> 或者简单的通过 <bclass="APPLICATION">sendmail</b>的出错处理程序检测一个给定的邮件错误. 主机默认列出<varclass="OPTION">OK</var>, 允许传送邮件到主机,只要邮件的最后目的地是本地主机. 列出<varclass="OPTION">REJECT</var>将拒绝所有的邮件连接 . 如果带有<varclass="OPTION">RELAY</var>选项的主机将被允许通过这个邮件服务器发送邮件到任何地方.</p><div class="EXAMPLE"><a id="AEN31478" name="AEN31478"></a><p><b>例子 22-1. 配置sendmail 访问数据库</b></p><pre class="PROGRAMLISTING">cyberspammer.com                550 We don't accept mail from spammersFREE.STEALTH.MAILER@            550 We don't accept mail from spammersanother.source.of.spam          REJECTokay.cyberspammer.com           OK128.32                          RELAY</pre></div><p>在上面的例子中我们有5条记录. 与左边列表匹配的发件人受到右边列表动作的影响.前边的两个例子给出了 <b class="APPLICATION">sendmail</b>的出错处理程序检测到的错误代码 .当一个邮件与左边列表相匹配时,这个信息会被打印到远程主机上 .下一条记录拒绝来自Internet上的一个特别主机的邮件<ttclass="HOSTID">another.source.of.spam</tt>. 接下来的记录允许来自 <ttclass="HOSTID">okay.cyberspammer.com</tt>的邮件连接, 这条记录比上面那行<ttclass="HOSTID">cyberspammer.com</tt>更准确. 更多的准确匹配使不准确的匹配无效.最后一行允许电子邮件从主机和<tt class="HOSTID">128.32</tt>开头的IP地址转发.这些主机将被允许通过这台邮件服务器前往其它邮件服务器发送邮件 .</p><p>当这个文件被升级的时候,你必须在 <tt class="FILENAME">/etc/mail/</tt>运行<ttclass="COMMAND">make</tt>升级数据库.</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN31491" name="AEN31491">22.3.2. <ttclass="FILENAME">/etc/mail/aliases</tt></a></h2><p>别名数据库包含一个扩展到用户,程序或者其它别名的虚拟邮箱列表 . 下面是一些在 <ttclass="FILENAME">/etc/mail/aliases</tt>中使用的例子:</p><div class="EXAMPLE"><a id="AEN31496" name="AEN31496"></a><p><b>例子 22-2. 邮件别名</b></p><pre class="PROGRAMLISTING">root: localuserftp-bugs: joe,eric,paulbit.bucket:  /dev/nullprocmail: "|/usr/local/bin/procmail"</pre></div><p>文件格式比较简单; 邮箱名在冒号左边,右边是扩展的目标. 第一个例子简单的扩展邮箱<ttclass="USERNAME">root</tt> 到邮箱<tt class="USERNAME">localuser</tt>,它可以在别名数据库中被找到 . 如果没有找到匹配的, 那么这个信息会被发送给本地用户 <ttclass="USERNAME">localuser</tt>. 接下来的例子显示了一个邮件列表 . 发送到<ttclass="USERNAME">ftp-bugs</tt>邮箱的邮件会被扩展为三个本地邮箱 <ttclass="USERNAME">joe</tt>, <tt class="USERNAME">eric</tt>, 和 <ttclass="USERNAME">paul</tt>. 注意 一个远程邮箱可以用<varclass="LITERAL">user@example.com</var>的形式指定. 下个例子显示将邮件写到<ttclass="FILENAME">/dev/null</tt>文件. 最后一个例子向你展示了传送邮件到一个程序,在这个例子里邮件通过<span class="TRADEMARK">UNIX</span>&reg;管道被写到 <ttclass="FILENAME">/usr/local/bin/procmail</tt> 标准输入里.</p><p>当这个文件被升级时, 你必须在<tt class="FILENAME">/etc/mail/</tt>运行 <ttclass="COMMAND">make</tt>来升级数据库.</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN31514" name="AEN31514">22.3.3. <ttclass="FILENAME">/etc/mail/local-host-names</tt></a></h2><p>这是一个<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">sendmail</span>(8)</span> 被接受为一个本地主机名的主机名列表 .可以放入任何 <b class="APPLICATION">sendmail</b>将从那里收发邮件的域名或主机. 例如,如果这个邮件服务器从域 <tt class="HOSTID">example.com</tt>和主机 <ttclass="HOSTID">mail.example.com</tt>接收邮件, 它的 <ttclass="FILENAME">local-host-names</tt>文件,可以看起来象如下这样 :</p><pre class="PROGRAMLISTING">example.commail.example.com</pre><p>当这个文件被升级, <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">sendmail</span>(8)</span> 必须重新启动,以便更新设置.</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN31530" name="AEN31530">22.3.4. <ttclass="FILENAME">/etc/mail/sendmail.cf</tt></a></h2><p><b class="APPLICATION">sendmail</b>的主配置文件 , <ttclass="FILENAME">sendmail.cf</tt> 控制着 <b class="APPLICATION">sendmail</b>的所有行为,包括从重写邮件地址到打印拒绝远程邮件服务器信息等所有事 . 当然,作为一个不同的角色,这个配置文件是相当复杂的,它的细节部分已经超出了本节的范围. 幸运的是,这个文件对于标准的邮件服务器来说很少需要被改动 .</p><p><b class="APPLICATION">sendmail</b>主配置文件可以用 <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">m4</span>(1)</span>宏定义<bclass="APPLICATION">sendmail</b>的特性和行为. 它的细节请看<ttclass="FILENAME">/usr/src/contrib/sendmail/cf/README</tt>.</p><p>当这个文件被修改时, <b class="APPLICATION">sendmail</b> 必须重新启动以便对新修改生效.</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN31546" name="AEN31546">22.3.5. <ttclass="FILENAME">/etc/mail/virtusertable</tt></a></h2><p><tt class="FILENAME">virtusertable</tt>映射虚拟域名和邮箱到真实的邮箱 .这些邮箱可以是本地的,远程的, <ttclass="FILENAME">/etc/mail/aliases</tt>中定义的别名或一个文件.</p><div class="EXAMPLE"><a id="AEN31552" name="AEN31552"></a><p><b>例子 22-3. 虚拟域邮件映射的例子</b></p><pre class="PROGRAMLISTING">root@example.com                rootpostmaster@example.com          postmaster@noc.example.net@example.com                    joe</pre></div><p>在上面这个例子里, 我们映射了一个域 <tt class="HOSTID">example.com</tt>.这个文件用一个最初匹配的文件处理. 第一项映射 <var class="LITERAL">root@example.com</var>到本地邮箱<tt class="USERNAME">root</tt>. 下一项映射 <varclass="LITERAL">postmaster@example.com</var> 到<ttclass="HOSTID">noc.example.net</tt>主机的<tt class="USERNAME">postmaster</tt>邮箱. 最后,如果域<tt class="HOSTID">example.com</tt>没有被什么匹配, 它将与最后一个映射匹配, 在<ttclass="HOSTID">example.com</tt>域,每个其它邮件信息地址到某一个主机被匹配.在这里被映射到本地邮箱<tt class="USERNAME">joe</tt>.</p></div></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="mail-using.html"accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">起点</a></td><td width="33%" align="right" valign="top"><a href="mail-changingmta.html"accesskey="N">前进</a></td></tr><tr><td width="33%" align="left" valign="top">使用电子邮件</td><td width="34%" align="center" valign="top"><a href="mail.html"accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">改变你的邮件传输代理程序</td></tr></table></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -