0390postfix.htm

来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 1,009 行 · 第 1/5 页

HTM
1,009
字号
<font color="#000066">hash</font>这一种数据格式,所以啰,你可以简单的使用底下的指令方式来格式化。</li><ul><font color="#000066" face="SimSun">postalias 数据库格式:檔名</font><br><font color="#000066" face="SimSun">postalias hash:/etc/postfix/aliases&#160;==&gt;自动建立 /etc/postfix/aliases.db 这个数据库档案!</font><br><font color="#000066" face="SimSun"> </font></ul><li><b><font color="#000066" face="SimSun">/usr/sbin/postcat </font></b>:这个指令可以用来观察某个邮件队列里面档案的信息!postfix的邮件队列放置在 /var/spool/postfix 里面,但是这个目录里面的档案格式是postfix 看的懂得,我们人类看不懂~为了取得这些在邮件队列里面的档案信息,所以我们得使用postcat 这个指令来读取出信息喔!假如有个档案放在 /var/spool/postfix/deferred,你可以这样看:</li><ul><font color="#000066" face="SimSun">postcat /var/spool/postfix/deferred/filename</font><br>&nbsp;</ul><li><b><font color="#000066" face="SimSun">/usr/sbin/postconf</font></b>:可以用来读取 main.cf 这个档案里面的设定数据的一个指令!用途多多啊!简单的来说,可以直接将你的main.cf 里面的设定分门别类的显示给你看,可以帮助除错 (debug) 啦!不错的工具,鸟哥个人蛮喜欢加入-n 这个参数来了解目前的主要规范文件放置在那个目录下!</li><ul><font color="#000066" face="SimSun">postconf -n</font></ul><font color="#000000" face="SimSun">显示的结果为:</font><ul><font color="#000066" face="SimSun">alias_database = hash:/etc/postfix/aliases</font><br><font color="#000066" face="SimSun">alias_maps = hash:/etc/postfix/aliases</font><br><font color="#000066" face="SimSun">command_directory = /usr/sbin</font><br><font color="#000066" face="SimSun">config_directory = /etc/postfix</font><br><font color="#000066" face="SimSun">daemon_directory = /usr/lib/postfix</font><br><font color="#000066" face="SimSun">debug_peer_level = 2</font><br><font color="#000066" face="SimSun">.......</font></ul>看到了吧!你想要知道的数据立刻一目了然,可以加快你的除错喔!不必每次都要进入main.cf 里面找好久呢!</ul> <ul><li><b><font color="#000066" face="SimSun">/usr/sbin/postmap</font></b>:怪怪!这个指令的用法跟上面提到的postalias 几乎完全一模一样啊! ^_^不过,他是用来取代 sendmail 的 makemap的!用法是:</li><ul><font color="#000066" face="SimSun">postmap hash:/etc/postfix/access==&gt;自动建立 /etc/postfix/access.db 这个数据库档案!</font></ul></ul> <ul><li><b><font color="#000066" face="SimSun">/usr/sbin/postqueue</font></b>:这个是在观察邮件队列的一个指令啦!你可以使用 postqueue -p 来显示目前的邮件队列内容!这个:</li><ul><font color="#000066" face="SimSun">postqueue -p 与 mailq 显示的内容会一模一样喔!</font><br>&nbsp;</ul></ul><li><font color="#000099">目录</font>:同样的具有邮件队列与邮件信箱的放置目录啊!</li><br> <ul><li><b><font color="#000066" face="SimSun">/var/spool/mail</font></b>:电子邮件信箱放置目录</li><li><b><font color="#000066" face="SimSun">/var/spool/postfix </font></b>:邮件队列,里面还有很多次目录,都是一些其它功能的咚咚啊!</li></ul></ul> <br>整体的架构大致是如此,好啦!了解的一定程度的架构之后,我们要开始来谈谈主机的最基础设定了吧!<br> <br><hr width="100%"><a name="server_basic"></a><font size="+1" color="#000099">基础设定</font><br> <br>终于要来搞定我们的设定档 /etc/postfix/main.cf 啦!先来搞定比较简单的几个部分喔!在Postfix 安装完毕之初,他仅支持本机寄信而已,如果您想要开放外送邮件,那就必需要做一些手术啦!底下几个重要的项目先来观察一下啰!(注:请使用vi 来编辑喔!)<br>&#160;<table bgcolor="#ffcccc" border="1" cols="1" width="90%"><tbody><tr><td><font color="#000066" face="SimSun">在 main.cf 这个档案当中,设定的项目都是以类似变量的设定方法来设定的,例如要设定postfix 主机名称时,就以:</font><blockquote><b><font color="#000066" face="SimSun">myhostname = vbird.adsldns.org</font></b></blockquote><font color="#000066" face="SimSun">这样的方式来设定的,那么什么是『变量』呢?如果还不清楚,赶紧拿出『<a href="http://linux.vbird.org/linux_basic/">鸟哥的Linux 私房菜 -- 基础学习篇</a>』翻到『<a href="http://linux.vbird.org/linux_basic/0320bash.php">认识BASH </a>』的章节,好好的瞧一瞧去吧!尤其变量的内容显示需要用 $ 来领头的用法,千万不可忘记!例如:</font><blockquote><font color="#000066" face="SimSun"><b>myorigin = $myhostname</b>&#160;==&gt; <b>myorigin = vbird.adsldns.org</b></font></blockquote><font color="#000066" face="SimSun">上面两个是一模一样的,只是藉由变量来让我们的设定更加的简单化!不过,与变量设定规则当中比较不同的,在main.cf 当中的等号两边需要有空白!此外,如果有两个以上的设定呢?那你就必须要逗号『,』或者是空格符『』来做为分隔了!例如:</font><blockquote><b><font color="#000066" face="SimSun">mydestination= $myhostname, $mydomain&#160;</font></b><br><b><font color="#000066" face="SimSun">mydestination = $myhostname $mydomain&#160;</font></b></blockquote><font color="#000066" face="SimSun">在底下的设定当中请特别留意这些设定喔!</font></td></tr></tbody></table> <ul><li><font color="#000099" face="SimSun">主机名称的设定:myhostname 与mydomain (极重要)</font></li><br>这个设定蛮重要的喔!就是在设定你的主机名称啰!请特别留意,这个『 myhostname』的变数在 main.cf 设定档的后面会持续的被使用到,所以,不要写错了!至于mydomain 则是你的网域啦!以鸟哥的 linux.vbird.org 为例,我的主机名称为linux.vbird.org (用 FQDN 的方式来写),此时,我的 domain 就是 vbird.org啦!在本章的例子当中,主机名称为 vbird.adsldns.org 网域名称为 adsldns.org,所以你要这样设定:<table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffff00">myhostname= vbird.adsldns.org&#160;&#160;</font><font color="#ff6666"> </font><font color="#ffccff">&lt;==这里请书写你的主机名称喔!</font></font><br><font size="-1" face="SimSun"><font color="#ffff00">mydomain =adsldns.org      </font><font color="#ffccff">&lt;==这里则是你的 domain名称!</font></font></td></tr></tbody></table> <li><font color="#000099" face="SimSun">送件来源的主机名称:myorigin</font></li><br>这个项目在设定『<font color="#000066">邮件标头上面的 mail from 的那个地址</font>』!当我们在本机端使用mail 这个程序发送信件时,由于没有定义送件者的地址,一般而言, 邮件主机会以目前的主机名称做为邮件的FROM 的那个主机名称。例如在我的 postfix 上面使用 mail 发送信件时,在发送的邮件当中,就会显示发信人为vbird@vbird.adsldns.org 的意思啦!不过,我也可以自行指定来源主机的名称,就是在这个myorigin 设定的!通常,使用 $myhostname 来设定 myorigin 即可,不过,在某些大型主机当中,由于这个大型网域内可能有多部的邮件主机,在此时可指定myorigin 为 $mydomain ,不过,如此一来还得替每个 user 指定其它相关的参数!所以,如果没有其它要求的话,这个地方设定为底下的样子即可:<table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#ffff00" face="SimSun">myorigin =$myhostname</font></td></tr></tbody></table> <li><a name="server_basic_destination"></a><font color="#000099" face="SimSun">可用来收件的主机名称:mydestination(极重要)</font></li><br>这个项目可就重要的太多太多了!这个项目就是 sendmail 当中的 <a href="http://linux.vbird.org/linux_server/0380sendmail.php#server_local-host-names">/etc/mail/local-host-names</a>相同的意义啦!你的 postfix 只有在发现 mydestination 这个项目中有写入的主机名称做为收信主机时,才会将该封信件收下来!例如,当你的主机名称有vbird.adsldns.org 与 www.vbird.adsldns.org ,这两个主机名称均指向同一部主机,那么只有在你将这两个名称都写入mydestination 项目中,那么两个主机的来信才可以被接受,否则就会被退回喔!这个项目有多种设定方法,最简单的就是直接写入档案中,另外,也可以设定的跟sendmail 一样,用外部的档案来取代喔!<table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#cccccc" face="SimSun">方法一:利用变量的型态</font><br><font size="-1" color="#ffff00" face="SimSun">mydestination= $myhostname, www.$myhostname</font><font color="#cccccc"></font><p><font size="-1" color="#cccccc" face="SimSun">方法二:直接给他写入名称</font><br><font size="-1" color="#ffff00" face="SimSun">mydestination= vbird.adsldns.org, www.vbird.adsldns.org</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">方法三:使用档案型态</font><br><font size="-1" color="#ffff00" face="SimSun">mydestination= /etc/postfix/local-host-names</font><br><font size="-1" color="#ff6666" face="SimSun">上面的名称可以随便你取喔!然后在该档案内设定</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> <b>vi /etc/postfix/local-host-names</b></font></font><br><font size="-1" color="#ffff00" face="SimSun">vbird.adsldns.org,</font><br><font size="-1" color="#ffff00" face="SimSun">www.vbird.adsldns.org</font></p></td></tr></tbody></table>一般来说,除非您对于 local-host-names 这个文件名称情有独锺,否则的话,鸟哥个人建议您直接在mail.cf 里面直接设定好你的可接受的主机名称即可!<font color="#000066">特别留意的是,如果你的DNS 里头的设定有 MX 的话,那么请将 MX 指向的那个主机名称一定要写在这个mydestination 内</font>!否则很容易出现错误讯息喔!特别的给他注意这一点!『<font color="#000066">一般来说,使用者最常发生错误的地方就在这个设定里头呢!需要搭配你的DNS 设定喔!</font>』<br> <li><font color="#000099" face="SimSun">简易的 Relay 控制:inet_interfacesmynetworks_style mynetworks relay_domains (极重要)</font></li><br>这个项目在控制谁可以利用我们的主机来寄信呢?也就是在 sendmail 里面的access 那个档案的咚咚啦!分别说明一下几个东西啰!<br> <ul><li><font color="#000066" face="SimSun">inet_interfaces</font>:你的Postfix 主机能被用来使用的接口,假如你的 Linux 主机有多个接口,例如多张网络卡或者是拨接之后又会产生的ppp0 这些接口时,如果你不想要全部的接口都开放 postfix 功能,那么就可以在这里指定能用的接口啰(注:指定的方式是以主机名称为主喔!) 一般预设只有自己的内部循环网络可以使用(localhost) ,不过,如果要连上 Internet 的话,建议就要全部都开放啦!  <font color="#000066" face="SimSun">inet_interfaces= all</font></li></ul><font color="#000066" face="SimSun"> </font><ul><li><font color="#000066" face="SimSun">mynetworks_style</font>:这是用来设定你所想要的relay 的信任(trust)网域型态!一般来说,有三种主要的型态,分别是:</li></ul> <ul><ul><li><font color="#000066" face="SimSun">class</font> :表示为A/B/C 三种 class 其中之一,在拨接或者是 ADSL 的情况下,这种型态设定并不好!因为他会主动的去找你目前的IP 所在的网域来进行 relay 的功能开放!举个例子来说,如果你是以中华电信的ADSL 拨接情况,那么你的 IP 很可能会是 61.59.xxx.yyy ,那如果你设定为 Aclass 的话 ( <i>postfix 会自动的判断,请至"<a href="http://linux.vbird.org/linux_server/0110network_basic.php">网络基础</a>"一文当中查看A/B/C 三个 class 的说明</i> ) ,那么只要是 61 开头的 IP 都可以用你的 postfix喔!很严重吧!这个设定通常只给内部

⌨️ 快捷键说明

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