歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> qmail控制文件詳解

qmail控制文件詳解

日期:2017/2/27 9:43:36   编辑:更多Linux
  <1.一些說明> 這篇文檔沒有版權信息,可自由修改這份文檔 這份文件將永遠不會有完成的一天,請把你的問題以及成功的經驗寄給我 這可以使它成為一份更好的說明文件,並且幫助更多人很好的使用它 如果你利用這篇文檔實現了你期望的應用,請告訴大家,讓我們分享你的喜悅 尋找此文檔的最新版本或其他實用的技術文檔請到搜索引擎查詢關鍵字 "姚遠方" 因為我的主頁總是搬來搬去的 如果你想發信給我詢問相關問題前請仔細再看一遍這篇文檔,因為他經過了無數人的努力到現在 如果你想發信給我詢問相關問題請表現相應的禮貌,並且我不能確定可以給你回復 瑾以此文獻給我最愛的女孩毛毛雪,雖然她可能永遠看不到這篇文檔,因為她不是這種類型的女孩 同時懷念帶我接觸這神奇的qmail的老師和上司,崗奇文彥 QMAIL的官方站點:http://www.qmail.org/ 我的信箱:[email protected] / [email protected] ----------------------------------------------------------------- <2.修改檔案> [2002.06.03 姚遠方 RainBow] 更新 添加一些難解項目的例子 添加smtpgreeting的紀錄 寫了備注 [2002.02.19 姚遠方 RainBow] 做成 ----------------------------------------------------------------- <3.安裝設定方法> [1.qmail全部控制文件列表(按照相關性排列) ] qmail-inject defaultdomain defaulthost idhost plusdomain qmail-qmqpc qmqpservers qmail-remote helohost smtproutes timeoutconnect timeoutremote qmail-send bouncefrom bouncehost concurrencylocal concurrencyremote doublebouncehost doublebounceto envnoathost locals me percenthack queuelifetime virtualdomains qmail-smtpd badmailfrom databytes localiphost rcpthosts morercpthosts timeoutsmtpd smtpgreeting ----------------------------------------------------------------- [2.各控制文件的作用 ] 2.1 qmail-inject qmail-inject接受本地郵件消息後檢測郵件頭是否符合RFC822標准,並傳送給qmail-queue排進隊列 defaultdomain 用來向那些沒有使用正確的[email protected]格式的郵件中增加郵件地址的,默認情況下, 如果主機地址中沒有結束符".",qmail-inject將給主機名後添加defaultdomain的內容,如果該文 件不存在,將使用me文件中的值代替. 例如:defaultdomain值為Linuxfane.com 本地產生了一封發送給rainbow@rainbow的郵件,那麼qmail-inject將用linuxfane.com來補全這個 後綴,變成[email protected] defaulthost 用來定義主機名,用來向地址中不含主機名的郵件補足郵件地址的。類似於defaultdomain。 例如:defaulthost值為linuxfane.com 那麼發送給 rainbow的消息,將被qmail-inject用defaulthost的值來補足為[email protected], 以便於qmail-send快速分辨是否屬於本地地址。 idhost 用來指定郵件中Message-ID:頭字段的主機名 例如:idhost值為linuxfane.com 那麼郵件頭中如下: Message-ID:<[email protected]> 如果idhost值為rainbow.linuxfane.com 那麼郵件頭中如下: Message-ID:<[email protected]> plusdomain 用來將其值添加在任何一個以一個+號結尾的地址 _________________________________________________________________ 2.2 qmail-qmqpc qmail-qmqpc是快速郵件排隊協議(QMQP)使用的程序,QMQP是一個QMAIL專用協議,用在工作站級QMAIL 服務器向中心服務器發送隊列。 qmqpservers 用來指定qmail-qmqpc使用的上級服務器 通常該功能應用很少,我認為qmail-qmqpc用法就是代替qmail-queue來直接傳給上級服務器。 _________________________________________________________________ 2.3 qmail-remote qmail-remote通過SMTP協議向遠程主機傳送郵件。 helohost 該文件用來指定qmail-remote程序與遠程郵件主機SMTP會話中的主機名。 smtproutes 用來指定到固定目的的靜態SMTP路線。 例子:smtproutes內容如下 rainbow.linuxfane.com:mail8.rainbow.jp :fw.rainbow.linuxfane.com:8088 第一行的存在會將發給rainbow.linuxfane.com的郵件重定向到mail8.rainbow.jp主機 第二行的存在會將任何不符合之前行條件的郵件重定向到fw.rainbow.linuxfane.com的8088端口,讓 郵件安全的穿越防火牆 qmmail-remote將按照smtproutes中的行序來進行處理 timeoutconnect 用來指定qmail-remote嘗試同一個遠程郵件主機建立一個SMTP會話的時間。默認值狀態下如果超出60 秒沒有得到遠程郵件主機的回應,那麼將斷開連接。 timeoutremote 用來指定qmail-remote在一個SMTP連接已經建立後,遠程郵件主機的每一個回應的時間數。默認值為 1200秒。 _________________________________________________________________ 2.4 qmail-send qmail-send用來檢測隊列中每一個郵件的狀態,並調用相應的程序進行處理。例如一個目的為本地的 郵件將會被qmail-send調用qmail-lspawn處理。 bouncefrom bouncehost 默認情況下,退回給原始發送方的郵件的發件人地址為MAILER-DAEMON@HOSTNAME,如果你想修改 MAILER-DAEMON這段,那麼就修改bouncefrom文件吧。 如果想修改MAILER-DAEMON@HOSTNAME中HOSTNAME這段,那麼就修改bouncehost文件。 例如:bouncefrom內容為SERVER-MANAGER bouncehost文件內容為mail8.rainbow.jp 那麼一封因為郵件地址不存在而被退回的通知郵件的發件人將是 [email protected] concurrencylocal 用來決定qmail可以同時運行的本地投遞進程的數目,默認值是10,標准安裝的qmail最大可設值是120。 安裝的時候可以通過修改conf-spawn來將其變為255以下任何數目。 concurrencyremote 用來決定qmail可以同時運行的遠程投遞進程的數目,默認值是20,就是說,qmail可以在同一時間內 同時發送20封郵件,標准安裝的qmail最大可設值是120。安裝的時候可以通過修改conf-spawn來將其 變為255以下任何數目。 doublebouncehost doublebounceto 這兩個控制文件類似於bouncefrom和bouncehost的關系,也是doublebouncehost指定主機名, doublebounceto指定用戶名。 他們的功能是為一個被退回兩次的郵件制定一條出路。 例如:doublebouncehost內容為rainbow.linuxfane.com doublebounceto內容為rainbow 那麼一個被退回2次的郵件將被發送給[email protected] 沒有這兩個文件的時候,那麼發送給postmaster@me文件中的域名 envnoathost qmail-send用來給沒有主機名的郵件收件人制定一個主機名的,通常這個文件並沒有必要,qmail-send 總是使用me文件中的域名。 locals 用來為qmail指明位於本地的郵件地址。qmail-send利用此文件來判斷收件人地址是否是一個本地地址。 例如:locals文件中寫有rainbow.linuxfane.com 那麼qmail-send檢測到隊列中有發送給@rainbow.linuxfane.com的郵件的時候,就會調用qmail-lspawn 來進行本地投送。 me 如果沒有me文件,那麼你的qmail將拒絕執行。me文件用來指定本地郵件服務器的主機名。 以上列出的許多控制文件在沒有被創建的時候,qmail都會用me中的值來代替。 percenthack 在UUCP協議中帶有%並在該文件中列出的地址將會被轉換為一個標准的DNS格式主機名。 queuelifetime 用來指定一個郵件在隊列中的最大存活時間,默認是604800秒,當一個郵件達到這個時間線後,qmail將 最後一次嘗試發送這封郵件,如果依然失敗,會將其從隊列中刪除。 virtualdomains 讓qmail接受本地郵件以外,還接受該文件中指定的域或者郵件地址,就是常說的虛擬域支持。 _________________________________________________________________ 2.5 qmail-smtpd qmail-smtpd接受遠程主機的郵件並轉交給隊列處理程序qmail-queue來處理。 badmailfrom 用來指定不喜歡的發件人的郵件地址或者是域名 例如:badmailfrom中寫有 [email protected] @hotmail.com 如果[email protected]給該郵件主機送信時,將得到code 553,告知其是一個不受歡迎的發件人。 而所有來自hotmail.com的發件人也將得到同樣的code 553。 databytes 用來指定該郵件服務器可以接受郵件的最大字節數。 例如:databytes指定為8000000 那麼如果有人給該主機發送的郵件字節數超過了這個商業上默認的最大容忍限度,將得到code 552,告知 其郵件大小超出了該郵件主機所能容忍的限度。 恐怖的是,默認狀態下,這個文件並沒有,如果有人用你服務器上的兩個不存在的地址作為FROM/TO發一 個100M的郵件 :o localiphost 用來為使用ip來標示目的主機的郵件消息指定本地主機名的 例如:rainbow.linuxfane.com的ip地址為198.17.1.2 localiphost內容為rainbow.linuxfane.com 那麼一封發送給rainbow@[198.17.1.2]的郵件的地址會被轉換為[email protected] rcpthosts morercpthosts 這兩個文件用來指定qmail可以接收的除本地主機名外的其他域名 他們的作用是相同的,不過因為rcpthosts中的域名不能超過50行,所以才出現了morercpthosts文件 timeoutsmtpd 用來指定qmail-smtpd等待遠程SMTP主機發送數據的時間線。默認的情況下,如果連接建立後1200秒內沒有 接受到遠程SMTP主機的任何信息,那麼將關閉這個連接。 smtpgreeting 用來指定SMTP連接的歡迎標志 例如:smtpgreeting值為 welcome connect to out open relay mail server - ad.rainbow.linuxfane.com 那麼建立一個smtp連接的時候將會看到如下信息: Trying 198.17.x.x... Connected to ad.rainbow.linuxfane.com. Escape characteris ^]. 220 welcome connect to out open relay mail server - ad.rainbow.linuxfane.com ESMTP ----------------------------------------------------------------- <3.FAQ> No data ----------------------------------------------------------------- <4.備注> 去年NTP服務器,今年QMAIL。嘿嘿 也許是受到的傳統教育那種條理分明的影響,也許是因為不是開發出身而對sendmail邏輯性極強的配置方法 望而生畏,我喜歡qmail這種各種設定都清晰明了的分別獨立設定方式。 在多種可以免費得到的MTA中,模塊化的qmail我認為應該有很多人喜歡,可惜實際看起來並不是這樣;也許 和相關資料和支持難尋有關吧。畢竟網絡界的前輩們都習慣了sendmail。而經驗就是網絡界的能力。像我這 種書童級的既然英文識不了幾個的,如果想搞通這些就更是難上加難吧。接觸qmail大概有2年時間了,這些 資料都是慢慢的收集和運用中記錄下來的,希望對那些也在用qmail做應用的朋友們當作一個速查手冊吧。 希望前輩們對其中的某些地方做一些詳細的說明,畢竟如localiphost這種久遠的郵件方式沒有經驗。 希望有人可以進行完善的項目還有percenthack等項目,因為UUCP我沒有仔細研習過。 還有qmqpservers這項目以及QMQP協議也沒有經驗。 我准備做qmail.linuxfane.com的站點,一方面mirror qmail.org,一方面作qmail知識經驗的傳承和匯總。 文中一定錯誤百出,請不吝賜教。




Copyright © Linux教程網 All Rights Reserved