在互聯網上應用最多的就要算是E-mail的服務了,sendmail就是應運而生的一個作為郵件傳輸標准的軟件包,這裡我們對在Linux環境下的sendmail的配置進行簡單討論。
一、 SMTP
提到郵件傳輸,就不能不提簡單郵件傳輸協議(SMTP),它是互聯網上傳輸郵件的既定標准,是一種面向連接的協議,定義了在互聯網上傳輸郵件的方式。這也就意味著只要進行通信的兩端都能正確的理解SMTP協議,就可以進行通信,而與這兩端的硬件平台和所運行的客戶程序無關。
二、 關於MX記錄
配置DNS服務器時,在DNS的配置文件中有一類MX記錄是郵件交換器記錄,它列出了可以為它接收郵件的主機列表。當SMTP客戶程序向其它主機發送郵件時,客戶程序首先找到MX記錄,因為MX記錄中的主機是帶有優先級的,所以客戶程序就按照MX記錄中所提供的優先級產將主機排序,然後按優先次序發送。
三、 關於郵件頭
在sendmail中郵件頭的地址和我們平常所用的信封地址是不一樣的,在設置sendmail之前要了解這一點,因為郵件路由器處理它們時是不一樣的。Sendmail在這裡設置成一種信封的格式,信封上只包含了一個收件人的地址,而所有收件人的地址是包含在郵件的頭部,這樣將具體的分發任務交給郵件發送器去完成。 在地址中允許使用別名,你可以將郵件發送給別名是myfriends的一組人,myfriends可以包括tom、rose、sally三個人,郵件頭的地址中只指出別名myfriends,而sendmail會將此別名擴展並產生一個包含所有人的信封。
四、 sendmai的別名文件
當sendmai處理郵件時總是要檢查收件人的地址是否為別名,而事實上別名也確實是經常被使用的,所以別名文件是比較重要的。格式如下:
name:name1,name2,... ... ,namex (注:x是數字。)
左邊的name是別名,別名所代替的名字在冒號的右邊。事實上冒號右邊的名字也可以是別名。格式如下:
name:name1,name2,... ... ,namex
name1:tom
name2:rose,sally
: :
namex:jack,mary,ben
sendmai將不斷的解析這些名字,直到它們被解析成一個真正的用戶名為止。另外,冒號右邊的用戶名還可以用一個遠程主機名來代替。
有時冒號右邊的用戶名列表需要經常改變,給管理員帶來不必要的麻煩,這時可以用:include:命令來指定一個別名列表文件,並將之置於用戶的控制下。
格式如下:
name::include:/home/aliase/name.aliases
並且文件/home/aliase/name.aliases之中包含name1,name2,... ... ,namex。
這時其作用與 name:name1,name2,... ... ,namex相同。