AIX操作系統(tǒng)下如何使用Sendmail |
發(fā)布時間: 2012/8/14 12:00:16 |
一、基本知識:
telnet xxx.xxx.xxx.xxx 25 220 xxx.xxx.xxx.xxx ESMTP Sendmail 8.12.1/8.12.1; Thu, 22 AUG 2002 10:33:21 0800 (EAT) 上述信息表明該主機運行的是sendmail8.12.1。版本號一般由被兩個圓點分開的三個數(shù)字組成。當前運行的絕大多數(shù)是sendmail 8.x.x。如果在sendmail服務器上,可以運行sendmail –d0.4來查看版本情況,例如:Version AIX4.3/8.12.1 sendmail的啟動、停止和刷新,可以使用以下命令: startsrc –s sendmail,也可以帶參數(shù):startsrc –s sendmail -a "-bd -q30m" stopsrc –s sendmail refresh –s sendmail 查看sendmail的狀態(tài): lssrc –s sendmail 配置開機自動啟動sendmail 編輯/etc/rc.tcpip,找到start /usr/lib/sendmail這一行,如果被注釋掉了,取消注釋,找到并設置qpi參數(shù),缺省是30分鐘,即qpi=30m(s代表秒,m代表分鐘,h代表小時,d代表天,w代表星期)。m是缺省。 手工啟動sendmail如: sendmail –q15m -q 后面的參數(shù)值同qpi。 Sendmail是一個守護進程(daemon),是一個信息路由程序,Sendmail通過syslogd daemon來記錄郵件系統(tǒng)的活動。要能夠做到這一點,/etc/syslog.conf 必須包括以下行: mail.debug /var/spool/mqueue/log 如果/var/spool/mqueue/log不存在, touch /var/spool/mqueue/log 然后重起syslogd:refresh –s syslogd 郵件隊列目錄是/var/spool/mqueue,郵件隊列的內(nèi)容可以由mailq或sendmail –bp打印出來。郵件隊列包含四類郵件隊列文件:數(shù)據(jù)文件、控制文件、臨時文件和抄本文件。文件的格式如下: dfAA00312 數(shù)據(jù)文件 qfAA00312 控制文件 tfAA00312 臨時文件 xfAA00312 抄本文件 顯示郵件的統(tǒng)計信息: touch /var/tmp/sendmail.st,此文件必須先建立,否則無法用mailstats來查看統(tǒng)計信息. 使用郵件別名和轉發(fā): 別名的定義放在/etc/aliases文件中,舉例添加一個別名manager,在/etc/aliases中增加一行: manager:caddy,zhang,joan@xxx.com 再對這個別名產(chǎn)生一個所有者,如果sendmail對這個別名發(fā)送郵件有誤,它會發(fā)一個出錯信息給所有者。 在/etc/aliases中增加一行: owner-manager:mars@xxx.com.cn 用newaliases或 sendmail –bi重新編譯/etc/aliases,再重起sendmail,mail manager 就可以給caddy,zhang,joan@xxx.com發(fā)郵件了。 轉發(fā)郵件可以使用/etc/aliases,也可以使用$HOME/.forward。 使用/etc/aliases的例子: tom:zhang, joan@xxx.com 這樣的話,tom收不到任何郵件,郵件發(fā)給zhang, joan@xxx.com,如果tom也希望收到,上一行做如下修改: tom:\tom,zhang, joan@xxx.com 自動刪除tom的郵件: tom:/dev/null 使用$HOME/.forward的例子: 編輯該用戶(假設是tom)主目錄下的.forward文件如下: zhang, joan@xxx.com 如果tom也希望收到,上一行做如下修改: \tom,zhang, joan@xxx.com 自動刪除tom的郵件: /dev/null 對$HOME/.forward的修改一存盤就即刻生效,不象/etc/aliases還需重新編譯。 發(fā)郵件給本機用戶:mail tom 發(fā)郵件給本網(wǎng)絡其它主機用戶:mail john@mars mars為主機名 給Internet郵箱用戶發(fā)郵件:mail joan@xxx.com 使用BNU或UUCP發(fā)郵件:mail @InternetSystem:UUCPSystem!username 郵件的存儲: 系統(tǒng)郵箱為/var/spool/mail目錄下,用戶一旦讀取就自動保存在$HOME/mbox目錄下,如果在產(chǎn)生郵件過程中被中斷,就將這些不完整的信息存放在$HOME/dead.letter。 二、配置sendmail通過SMTP服務器發(fā)Internet郵件: 在TCP/IP網(wǎng)絡中,常見的三種主機名解析方法是:DNS、NIS、etc/hosts,如果/etc/resolv.conf存在則先用DNS解析,如果要改變解析順序,可以修改/etc/netsvc.conf 或變量NSORDER(其優(yōu)先級高于/etc/netsvc.conf )如在/etc/netsvc.conf 中可定義hosts=local,nis,bind,也可設置NSORDER=local,nis 1.有DNS的情況 sendmail 缺省設置與DNS一起工作,不需要對/etc/sendmail.cf做任何修改,設置好/etc/resolv.conf并能連通DNS服務器,就可以發(fā)Internet郵件了。 2.使用SMTP代理的情況 SMTP的全稱即為“簡單郵件傳輸協(xié)議”,它負責郵件在兩臺服務器或客戶端之間進行交換。習慣上,如果源服務器/客戶端將郵件通過SMTP協(xié)議傳送到其目標服務器上,我們將其稱之為“投遞”,否則稱之為“中繼”(RELAY) SMTP服務具有以下幾個顯著的特點: 1.SMTP服務是匿名服務,并不要求確認發(fā)件人與收件人的真實身份; 2.SMTP服務是明文服務,所有經(jīng)過SMTP傳輸?shù)膬?nèi)容均以明文傳送。 使用SMTP代理的情況下,需要對/etc/sendmail.cf做些修改,先要修改DS項,這是配置用來轉發(fā)郵件的主機。格式如下: smtp主機的定義: DS DSsmtp xx.com.cn àsmtp的主機名 或者 DSsmtp:[xxx.xxx.xxx.xxx] àsmtp的IP地址 本機的定義: Dw, Dm和Cw Sendmail 缺省自動定義 Dw (本機的主機名), Dm (域名) 和 Cw (主機別名) 。格式如下: Dwxxx //主機名緊挨著Dw寫 Dmcom.cn Cwlocalhost 配置完畢后重起sendmail服務,然后可以用sendmail –d0.4查看域名的情況和sendmail版本情況,發(fā)送郵件可以用mail –v 顯示詳細的發(fā)送信息。 如:mail –v test@xxx.com 顯示信息如下: test@xxx.com.cn... Connecting to [xxx.xxx.xxx.xxx] via smtp... 220 xxx.com ESMTP >>> EHLO xxx.com.cn //發(fā)件人的名字就是:用戶名@ xxx.com.cn 250-xxx.com.cn 250-AUTH LOGIN CRAM-MD5 PLAIN 250-AUTH=LOGIN CRAM-MD5 PLAIN 250-PIPELINING 250 8BITMIME >>> MAIL From:<用戶名@xxx.com.cn> 250 ok >>> RCPT To: 250 ok >>> DATA 354 go ahead >>> . à結束符<回車><換行>.<回車><換行> 250 ok 1024473751 qp 1714 test@xxx.com.cn... Sent (ok 1024473751 qp 1714) Closing connection to [xxx.xxx.xxx.xxx] >>> QUIT 221 xxx.com.cn 其中>>>后面顯示的內(nèi)容可以手工輸入,可以telnet xxx.xxx.xxx.xxx(SMTP代理主機名) 25,一步一步輸入,測試整個郵件發(fā)送過程,找到故障原因所在。 本文出自:億恩科技【1tcdy.com】 |