管理我們的郵件隊列(圖)

來源:本網整理

1、隊列文件通常存放在/var/spool/mqueue下面,每個待發送的郵件由幾個文件構成,例如,我們可以看到下面的目錄文件列表:[[email protected] mqueue]#lsdfRAA27175 xfAAA00733 xfBAA00819 xfEAA32763 xfXAA00706qfRAA27175 xfAAA00784 xfDAA01360 xfFAA01616文件名字總是由一個兩字符的前綴加上一個隨機數字。前綴有四鐘:df:郵件內容qf:郵件頭和一些控制信息xf:一些臨時文件tf:qf文件的臨時存儲文件2、可以通過看隊列中的qf文件來確定當前隊列信息,不過通常都可以用mailq程序來完成對隊列狀態的查詢:[email protected] mqueue]#mailqMail Queue(1 request)Q-ID-Size-Q-Time-Sender/Recipient-RAA27175 22429 Fri Feb 25 17:34deferred)net這表示隊列中目前只有一封信,由zhangfl發出,[url=mailto:收信人是×@×.net]收信人是×@×.net]。3、查看隊列:mailq查看MTA隊列的滯留情況(等價于sendmail-bp)mailq-Ac#查看MSP隊列的滯留情況(等價于sendmail-bp-Ac)強制送信:usr/sbin/sendmail-q-v對MTA隊列強制送信usr/sbin/sendmail-q-v-Ac對MSP隊列強制送信注:如執行完以上命令后,隊列中仍然還有很多郵件,這時需要多次執行以上命令,直到郵件發送完為止。參數說明:q 立即處理隊列的內容.v 顯示進度詳細信息Ac 讀取MSP隊列(默認是讀取MTA隊列)4、sendmail接受到的信件在用戶取走之前將暫時存儲在/var/spool/mail目錄下面,存儲的方法非常簡單,就是每個有待讀郵件的用戶一個文件:[[email protected] spool]#ls-l/var/spool/mail|total 19364rw-rw-1 anyi mail 7559035 Feb 28 22:04 anyirw-rw-1 baixuan mail 514 Nov 7 01:32 baixuanrw-rw-1 cwc mail 515 Feb 28 08:35 cwc如果一個用戶有多封電子郵件,那么這些郵件就被簡單地連接在一起構成一個大文件(所以你會看到非常巨大的郵件文件)。5、如果你面對的是一個很龐大的郵件服務系統,有時會在某個郵件隊列中擁塞太多的消息,你可能想把這個隊列暫停并且在網絡空閑的時候再發送,暫停一個郵件隊列的辦法非常簡單,就是將/var/spool/mqueue目錄移走:killall sendmailmv/var/spool/mqueue/var/spool/mqueue.stopmkdir/var/spool/mqueuesendmail Cbd當網絡空閑的時候,可以用-oQ參數立即處理擁塞的隊列:sendmail CoQ/var/spool/mqueue.stop Cq6、設置郵件隊列間隔守護程序啟動時-q 標志的值確定 sendmail 守護程序處理郵件隊列的時間間隔。在 Red Hat 的預設條件中,在/var/spool/mqueue 當中的信件會每隔 60 分鐘由 Sendmail 嘗試重新傳送一次到目的地去!這個嘗試的時間是可以改變的!可以利用 sendmail 的指令或者直接修改/etc/sysconfig/sendmail 里面的『QUEUE=時間』來修訂!例如,如果你想要讓 Sendmail 每隔 30 分鐘就幫你嘗試傳送/var/spool/mqueue 里面的未寄出的信件時,那么就將/etc/sysconfig/sendmail 這個檔案里面的『QUEUE=1h』改成『QUEUE=30m』即可!這些變化會在下一次系統重新啟動時生效。如果您想讓這些變化立刻生效,請停止并重新啟動 sendmail 守護程序,指定新的-q 標志值。更多相關信息,請參閱停止 sendmail 守護程序和啟動 sendmail 守護程序。7、在sendmail里如何控制郵箱大小在/etc/sendmail.cf 中設置找這個字段,把前面的注釋“#”去掉,再把“0”修改為你想要控制的郵件大小,比如10M,這個文件中,是以字節為單位的。maximum message sizeO MaxMessageSize=10000008、要察看郵件系統的狀態,使用mailstats命令www.anxorj.tw防采集請勿采集本網。

本文出自《網管員世界》2004年第2期 |經驗技巧|欄目

一般來說,郵件服務器接收到客戶端提交過來的郵件,會立即進行發送。但是,當出現故障,比如線路中斷或目的域不可到達時,郵件服務器就會將該郵件轉入郵件隊列(Message Deferred Queue),等待一個時間段,然后再嘗試發送。另外,由于SMTP協議的問題,接收郵件時,郵件服務器不會去驗證郵件發送方的地址,有些病毒郵件、廣告群發郵件等垃圾郵件經常會使用偽造的或根本就不存在的郵件地址進行發送,而且,為了達到群發的目的,郵件的接收地址大部分都是成批地編造出來的。對這樣的郵件,郵件服務器既發送不出去,也無法退回發送人,極容易造成死循環。大量的郵件囤積在服務器的郵件隊列中,會極大的消耗系統的資源,嚴重時,甚至會造成SMTP進程死掉,系統響應非常遲緩。因此,作為郵件系統的管理員,需要經常去查看服務器的郵件隊列,及時了解郵件系統的運行狀況,并根據情況,處理隊列中的郵件。

這些防火墻的算法更復雜,并且不與他人分享細節,對正常的郵件送達也可能有致命的影響,如部分郵件服務器要求有人工添加確認功能,針對大部分陌生地址郵件,華思郵件告訴各位我們應將采用拒收的策略。

查看郵件隊列

服務器在一個隊列中存儲到達的郵件,等待發送到下一個目的地。下一個目的地可以是本地用戶,或者是另一個郵件服務器。電子郵件的原理和Outlook Express的使用 1、電子郵件的原理 1.1、電子郵件的發送和

在Netscape Messaging Server4.15中,可以通過Netscape Console控制臺去查看隊列,方法是:啟動Netscape Console,進入Messaging Server控制臺,選擇“Configuration”下的“Services”/“SMTP”/“Message Queue”,如圖1所示。從控制臺中,我們可以看到郵件目的域,即接收方域,還有待發往該域的郵件數量。另外,還有一個更為實用的方法—mailq,可以查看郵件的隊列。在使用之前,用戶必須使用郵件服務器程序屬主的身份登錄系統。

確認后,收件人信箱郵件服務器上的POP3服務器進程檢查該用戶郵箱,把郵箱中的郵件按POP3協議的規定傳輸到收信人主機的POP3客戶進程,最終交給收信人主機的電子郵件應用軟件,供用戶查看和管理。

→圖1

# mailq -v

你要確保你已經連接了網絡,如果你沒有連接網絡的話,系統就會將你編輯的軟件暫時存放在隊列中,等待你連接網絡。如果你連接了網絡,只要點擊發送接受郵件就可以了。

Summary of Queued Messages Destined for the Internet (via SMTP)

郵局服務器識別接收者的地址,并向管理該地址的郵件服務器(POP3服務器)發送消息。郵件服務器識將消息存放在接收者的電子信箱內,并告知接收者有新郵件到來。接收者通過郵件客戶程序連接到服務器后,就會

Messages Destination Host Queue Directory

-------- --------- --------

1 163.com $queue

HGR7EQ00.M7V 754/11450 [Wed, 20 Aug 2003 08:16:02 +0800] <[email protected]> 1:<[email protected]>

1 bolt.com $queue

HJT98W01.E7K 410/3348 [Wed, 20 Aug 2003 18:31:44 +0800] <> 1:<[email protected]>

…………

由上可見,mailq可以查看到更豐富詳細的信息,取上述第一條來講,這表明對163.com的目的域,有一個郵件待發,發件人的地址是[email protected],收件人的地址是[email protected],發件時間是“Wed, 20 Aug 2003 08:16:02 +0800”,而“754/11450”則分別表示該郵件的郵件頭和郵件體(Header-Size/Body-Size)的大小,郵件目前在$queue目錄下。

想進一步的了解該郵件的情況,可以進入$queue目錄查看。

以往Netscape Messaging Server將目的域名作為目錄名直接放在$queue/deferred/SMTP-Deliver目錄下,Netscape Messaging Server 4.0以后,我們需要用Hash算法來定位該目的域隊列:

# hashdir 163.com

14/44/

# ls $queue/deferred/SMTP-Deliver/14/44/

163.com

這樣,我們就可以進入該隊列,查看關于這個郵件更詳細的信息。這些信息對郵件管理員都是非常有用的。根據它,管理員可以查找定位郵件、追蹤郵件、了解郵件進入隊列和排隊時間,并據此決定相應的處理隊列措施。

處理郵件隊列

進入郵件隊列的郵件,管理員可以采取的處理措施有三種(如圖2):

→圖2

1. Bounce,返回發件人。

2. Requeue,提交進入Active Queue,即立即發送。

3. Delete,刪除郵件。

在使用mailq查看到的隊列信息中,我們看到:

HKIVAV01.DK1 400/4418 [Wed, 20 Aug 2003 14:28:19 +0800] <> 1:<[email protected]>

HJW4GJ01.18Q 400/4418 [Wed, 20 Aug 2003 14:28:57 +0800] <> 1: <[email protected]>

…………

可見,發往tom.com的郵件有400封,信件的接收地址都是[email protected]。用上面介紹的辦法查看該郵件,發現都是系統(postmaster)因無法投遞該信件而退回發件人的信息。待回退的原信內容是一封營銷廣告性質的郵件,接收人則是按一定規則成批編造出來的。這些郵件就形成了前面所說的死信。在$queue/messages目錄下,可以看到大量大小相同的文件:

-rw-rw---- 1 mailsrv sys 4817 Aug 20 14:27 HKIVAA01.6JU

-rw-rw---- 1 mailsrv sys 4817 Aug 20 14:27 HKIVAE01.EJQ

-rw-rw---- 1 mailsrv sys 4817 Aug 20 14:27 HKIVAF01.6JW

…………

用top命令看到,CPU已經被占滿:

CPU states: 0.0% idle, 78.8% user, 8.3% kernel, 12.9% iowait, 0.0% swap

……

PID USERNAME THR PR NCE SIZE RES STATE TIME FLTS CPU COMMAND

6493 mailsrv 33 54 -2 1.2G 89.6M run 10:44 1 68.32% smtpd

此時服務器的運行性能可想而知是怎樣的糟糕了?蛻舳说椒⻊掌鱏MTP、POP等連接統統超時,根本無法連接到服務器。SMTP進程極大的消耗著系統資源,最終的結果是:SMTP 進程死掉。因此,一旦發現類似的郵件,管理員應立即采用“Delete”措施予以刪除。用mailq查看到的隊列信息中,我們還可以看到:

HJW4BV01.685 404/4089 [Wed, 20 Aug 2003 07:38:19 +0800] <> 1:<[email protected]>

HJW4GJ01.18Q 404/8962 [Wed, 20 Aug 2003 07:41:07 +0800] <> 1: <[email protected]> ……

這些到guaqw.com域的郵件也是類似的死信。從上面可以看出,這類信件的特征是:

發往該域的郵件數量比較大,發件地址一般都是空“<>”,郵件的郵件頭/郵件體(Header-Size/Body-Size)的大小相似。另外,在查看隊列時,管理員經常會發現,有很多目的域明顯是不存在的,或者是用戶筆誤寫錯了的,比如hotmai.com、publik.bta.net.cn等。這些目的域是根本不可能到達,因此,就沒有必要留在隊列中,耗費郵件服務器的資源。對這樣的隊列,管理員可采取的措施就是:返回給發件人(Bounce)或者直接刪除(Delete)。另外,有些郵件在隊列中的時間比較長,目的域也不是很明顯的情況下,管理員可以檢查域名情況,判斷是否也是同樣的問題。這樣就能為郵件服務器減少很多不必要的發送嘗試。還有一些情況,比如有些比較重要的郵件,可能因為網絡或線路的原因,沒能立即發送出去,進入了郵件隊列。按照常規,郵件必須等待過系統設置好的時間段后,才能再進入Active Queue嘗試發送。這時候,管理員就可以采取“Requeue”措施,盡快發送,使該郵件不用再等待。

調整郵件隊列參數

Netscape Messaging Server4.15中,可以調整關于郵件隊列的參數為:

1)郵件隊列的處理時間間隔(Process Interval)

2)郵件隊列最長的排隊時間(Maximum Queue Time)

→圖4

啟動Netscape Console,進入Messaging Server控制臺,選擇“Configuration”下的“Services”/“SMTP”/“Message Queue”/“Configuration”,如圖3所示!癕essage queue process interval”就是郵件進入隊列后,在每次發送嘗試間需要等待的時間;“Maximum message queue time”是郵件能在隊列中存在的時間上限,超過這個時間,郵件服務器將放棄發送該郵件。這些參數,管理員可自行調整。

1、隊列文件通常存放在/var/spool/mqueue下面,每個待發送的郵件由幾個文件構成,例如,可以看到下面的目錄文件列表:[[email protected] mqueue]#lsdfRAA27175 xfAAA00733 xfBAA00819 xfEAA32763 xfXAA00706qfRAA27175 xfAAA00784 xfDAA01360 xfFAA01616文件名字總是由一個兩字符的前綴加上一個隨機數字。前綴有四鐘:df:郵件內容qf:郵件頭和一些控制信息xf:一些臨時文件tf:qf文件的臨時存儲文件2、可以通過看隊列中的qf文件來確定當前隊列信息,不過通常都可以用mailq程序來完成對隊列狀態的查詢:[email protected] mqueue]#mailqMail Queue(1 request)Q-ID-Size-Q-Time-Sender/Recipient-RAA27175 22429 Fri Feb 25 17:34deferred)net這表示隊列中目前只有一封信,由zhangfl發出,[url=mailto:收信人是×@×.net]收信人是×@×.net]。3、查看隊列:mailq查看MTA隊列的滯留情況(等價于sendmail-bp)mailq-Ac#查看MSP隊列的滯留情況(等價于sendmail-bp-Ac)強制送信:usr/sbin/sendmail-q-v對MTA隊列強制送信usr/sbin/sendmail-q-v-Ac對MSP隊列強制送信注:如執行完以上命令后,隊列中仍然還有很多郵件,這時需要多次執行以上命令,直到郵件發送完為止。參數說明:q 立即處理隊列的內容.v 顯示進度詳細信息Ac 讀取MSP隊列(默認是讀取MTA隊列)4、sendmail接受到的信件在用戶取走之前將暫時存儲在/var/spool/mail目錄下面,存儲的方法非常簡單,就是每個有待讀郵件的用戶一個文件:[[email protected] spool]#ls-l/var/spool/mail|total 19364rw-rw-1 anyi mail 7559035 Feb 28 22:04 anyirw-rw-1 baixuan mail 514 Nov 7 01:32 baixuanrw-rw-1 cwc mail 515 Feb 28 08:35 cwc如果一個用戶有多封電子郵件,那么這些郵件就被簡單地連接在一起構成一個大文件(所以你會看到非常巨大的郵件文件)。5、如果你面對的是一個很龐大的郵件服務系統,有時會在某個郵件隊列中擁塞太多的消息,你可能想把這個隊列暫停并且在網絡空閑的時候再發送,暫停一個郵件隊列的辦法非常簡單,就是將/var/spool/mqueue目錄移走:killall sendmailmv/var/spool/mqueue/var/spool/mqueue.stopmkdir/var/spool/mqueuesendmail Cbd當網絡空閑的時候,可以用-oQ參數立即處理擁塞的隊列:sendmail CoQ/var/spool/mqueue.stop Cq6、設置郵件隊列間隔守護程序啟動時-q 標志的值確定 sendmail 守護程序處理郵件隊列的時間間隔。在 Red Hat 的預設條件中,在/var/spool/mqueue 當中的信件會每隔 60 分鐘由 Sendmail 嘗試重新傳送一次到目的地去!這個嘗試的時間是可以改變的!可以利用 sendmail 的指令或者直接修改/etc/sysconfig/sendmail 里面的『QUEUE=時間』來修訂!例如,如果你想要讓 Sendmail 每隔 30 分鐘就幫你嘗試傳送/var/spool/mqueue 里面的未寄出的信件時,那么就將/etc/sysconfig/sendmail 這個檔案里面的『QUEUE=1h』改成『QUEUE=30m』即可!這些變化會在下一次系統重新啟動時生效。如果您想讓這些變化立刻生效,請停止并重新啟動 sendmail 守護程序,指定新的-q 標志值。更多相關信息,請參閱停止 sendmail 守護程序和啟動 sendmail 守護程序。7、在sendmail里如何控制郵箱大小在/etc/sendmail.cf 中設置找這個字段,把前面的注釋“#”去掉,再把“0”修改為你想要控制的郵件大小,比如10M,這個文件中,是以字節為單位的。maximum message sizeO MaxMessageSize=10000008、要察看郵件系統的狀態,使用mailstats命令內容來自www.anxorj.tw請勿采集。

免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
Copyright © 2017 www.anxorj.tw All Rights Reserved
陕西快乐10分下载