Redhat Linux下Sendmail配置(一)

關於郵件服務器的一些相關知識

一、電子郵件系統的組成
5
部分:MTAMSAMUAMDAMAA
1
 郵件用戶代理(Mail User AgentMUA
MUA
是一個郵件系統的客戶端程序,它提供了閱讀,發送和接受電子郵件的用戶接口。
最常用的MUA有:linux中的mailelmpine等。Windowsoutlook foxmail 郵件代理器(Mail Transfer AgentMTA
MTA
負責郵件的存儲和轉發(store and forward)。MTA監視用戶代理的請求,根據電子郵件的目標地址找出對應的郵件服務器,將信件在服務器之間傳輸並且將接受到的郵件進行緩衝。
linux下的MTA程序有:sendmailqmail等,、郵件提交代理(Mail Submmission AgentMSA
MSA
負責消息有MTA發送之前必須完成的所有準備工作和錯誤檢測,MSA就像在MUAMTA之間插入了一個頭腦清醒的檢測員對所有的主機名,從MUA得到的信息頭等信息進行檢測。、郵件投遞代理(Mail Ddlivery AgentMDA
MDA
MTA接收郵件並進行適當的本地投遞,可以投遞個一個本地用戶,一個郵件列表,一個文件或是一個程序。
Linux
下常用的MDAmail.localsmrshprocmailwww.procmail.org、郵件訪問代理(Mail Access AgentMAA
MAA
用於將用戶連接到系統郵件庫,使用POPIMAP協議收取郵件。
Linux
下常用的MAAUW-IMAPCyrus-IMAPCOURIER-IMAP

2

3

4

5

 

二、電子郵件協議
1
 SMTP
2
POP3
3
IMAP
4
MIME三、電子郵件與DNS四、郵件中繼

 

 

二、aliases 別名數據庫設置 (/etc/aliases)

test: test1,test2,test3 設置test羣組別名,test不是一個實際的用戶,只是一個別名。發給
test
的信,test1,2,3都可收到。
test: test,testbak
testbak郵箱中備份test的郵件。
test: test,[email protected]
遠程郵件備份,原理同上。
test:   :include: /etc/mail/userlist
使用用戶列表設置羣組。
userlist
格式如下:
test1, \
test2, \
test3, \
test4
關於系統預設aliases,由於sendmail預設用mailer-daemon and postmaster作爲資料傳送者,
或郵件退回的帳號,但系統實際沒有這兩個帳號,所以要如下設置別名。
mailer-daemon:  postmaster 
postmaster:     root 
設置完成後不要忘了用newaliases命令生成數據庫。(/etc/aliases.db) 三、~/.forward文件配置
其實該文檔的作用和aliases數據庫的作差不多啦,都是配置別名,做郵件轉發的。因爲alises
只能由管理員控制,個人用戶不能修改,所以就可以在個人的目錄下建立一個轉寄文檔。以
設置個人的郵件轉寄列表。文檔格式如下:
test
test1
test2
test3
and os on
但由於個人用戶安全意識差,如果設置不當會有安全漏洞,不建議使用。 四、access訪問控制列表設置 (/etc/mail/access)
92.168 RELAY
test.NET OK
test.COM REJECT
test.COM 550 SORRY,WE DON’T ALLOW SPAMMERS HERE
test.ORG DISCARD
Ok–
遠程主機可以向你的郵件服務器發送郵件;
RELAY–
允許中轉;
REJECT–
不能向你的郵件服務器發郵件和不能中轉;
DISCARD–
發來的郵件將被丟棄,同時並不向發送者返回錯誤信息。
nnn text– 
發來的郵件將被丟棄,但sendmail將會向發送者返回nnn確定的smtp代碼和text
變量確定的文本描述。
設置完成後要生成數據庫(/etc/mail/access.db)

 

 

方法1

cd /etcm/mail

make

make restart

方法2

cd /etc/mail

makemap hash access.db < access

service sendmail restart

 

五、幾個有關郵件命令

 

mailq郵件隊列查詢命令。
Q-ID 郵件id號。
Size
郵件容量。
Q-Time
郵件進入隊列(也就是/var/spool/mqueue目錄)的時間和不能郵寄的原因。
Sender/Recipient
發信和收信人的郵箱地址。 郵寄狀態查詢命令,可查詢sendmail運行作至今郵件收發總計資料。
M     
msgsfr
:發送的郵件數量。
bytes_from
:郵件容量 
megsto
:收到郵件的數量。 
bytes_to
:同上
msgsrej
:郵件deny的次數。 
msgsdis
:郵件discard的次數。 
Mailer 
esmtp對外郵件 local本地郵件  郵件命令
mail 查看/var/spool/mail/目錄下自已郵箱內容。以q退出把看過的郵件保存在
~/mbox
中。
mail [email protected]
直接發郵件給人。
mail -s ’title text’ [email protected] < mail.txt  
把文檔中內容郵寄出去。
mail -f ~/mbox
查看home目錄下郵箱內容。
mail發附件也是可行,要用到uuencode and uudecode命令進行編碼。
編碼:uuencode [file] name          example:uuencode hello hello>;hello.uue   default input 
is stdin;default output is stdout.
解碼:uudecode [-o outfile] name    example:uudecode hello.uue 可以用-o選項輸出另外一個
文件名。
# uuencode ~/.bashrc bashrc | mail -s ’test uuencode’ [email protected]

mailstats

mail

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章