目錄(持續更新)
基礎-第0章-安裝
基礎-第1章-基本操作
基礎-第2章-磁盤及文件系統管理
基礎-第3章-獲得幫助
基礎-第4章-用戶及權限基礎
基礎-第5章-網絡基本配置
基礎-第6章-管道,重定向及文本處理
基礎-第7章-系統啟動詳解
進階-第1章-日志服務
進階-第2章-DNS域名服務器
進階-第3章-FTP文件共享服務
進階-第4章-NFS文件共享服務
進階-第5章-SMB文件共享服務
進階-第6章-WEB服務Apache篇
進階-第7章-電子郵件服務
進階-第8章-Linux服務基礎及管理
高級-第1章-LVM邏輯卷
高級-第2章-高級權限ACL
高級-第3章-RAID提升速度及冗余
高級-第4章-高級網絡-網卡綁定,子端口
高級-第5章-SELinux安全系統基礎
高級-第6章-IPTable防火墻基礎
高級-第7章-Linux遠程管理-SSH、VNC
第7章-電子郵件服務
第一節 電子郵件服務
-
電子郵件
電子郵件起于1960 網絡電郵1971 中國第一份電子郵件1987 電子郵件多架構組成
-
基本組件
MUA 郵件用戶代理 郵件客戶端,如outlookthunderbird 通過網頁訪問電子郵件那么使用的網頁程序也叫MUA MTA 郵件傳輸代理 郵件服務器程序,負責實現SMTP協議 MDA 郵件發送代理 MRA 郵件接收代理 實現IMAP或POP3協議與用戶郵件客戶端進行交互,將郵件通過IMAP或POP3傳輸給郵件客戶端 SMTP 協議 所有郵件發送都是通過SMTP協議完成 IMAP 協議 用戶郵件客戶端使用IMAP協議從服務器上抓郵件 POP3 協議 用戶郵件客戶端使用POP3協議從服務器上抓郵件 MTA --UDP--> DNS(MX record) MTA --SMTP-> MTA ------> MDA(/var/spool/mail/username) ------> MUA -------> MRA ------> MDA
-
MUA客戶端
mail user agent 為郵件用戶代理,用戶通過MUA接收郵件 常用的軟件有: outlook mac mail thunderbird foxmail mutt
IMAP POPO3
MUA接收郵件用的是IMAP或POP3標準接收協議 負責從郵件服務器上將特定用戶的郵件抓取下來 我們可以控制抓取后是否在郵件服務器上保存郵件 IMAP主要優勢在于客戶的所有操作都與郵件服務同步 而POP3則是將郵件下載下來,所有操作都在本地,不影響服務器 IMAP體現更好
-
MTA
郵件傳輸代理 郵件服務器SMTP是郵件發送標準 SMTP是簡單郵件傳輸協議 所有MTA都是對SMTP的實現 linux的主流MTA有sendmail Postfix MTA只負責郵件傳輸 郵件保存是MDA完成的
-
MDA
郵件遞送代理 負責將MTA接收到的郵件保存在一起 通常MDA和MTA是緊密結合的 linux上郵件的默認保存目錄是 /var/spool/mail/username MDA對郵件垃圾處理和病毒掃描 linux最常用的MDA有procmail maildrop sendmail Postfix用的都是procmail
-
MRA
提供IMAP和POP3協議服務器 實現協議負責和MUA交互 linux常用DOVECOT 為了安全現代郵件一般使用數字證書加密 IMAP POP3 IMAPS POP3S
-
電郵地址格式
兩種 nash_su@mail.linuxcast.net nash_su@linuxcast.net 常用第二種 第二種形式的郵件愛你地址因為沒指定域的郵件服務器的地址需要對域名進行DNS服務器查詢
第二節 POSTFIX郵件服務器基礎配置
postfix目前主流的MTA 主要用來實現SMTP功能
postfix速度快,兼容sendmail,穩定靈活健壯,安全性強
-
postfix
postfix一般默認會安裝 yum install -y postfix 主配置文件 /etc/postfix/main.cf 啟動postfix service postfix start chkconfig postfix on 默認使用端口25 (SMTP) 默認啟動為本機用戶提供郵件服務 默認監聽loop端口 netstat -tupln | grep master 查看 我們可以通過以下命令發送郵件 mail -vs "test mail from linuxcast" root@training。linuxcast.net 輸入郵件內容... Q退出 通過mail郵件可查看
-
對外提供服務配置
主配置文件 /etc/postfix/main.cf 不建議直接修改 使用postconf命令編輯查看 postconf -d 顯示默認配置 postconf -n 顯示當前生效的配置 postconf -e key=value 開始配置 postconf命令會將修改內容寫入main.cf文件 這樣的方式可以避免錯誤
-
實驗環境
一臺training.linuxcast.net 一臺mail.linuxcast.net DNS服務器
-
配置開始
開啟監聽所有接口 postconf -e "inet_interfaces = all" 之后指定可能會代表本機的主機名 postconf -e "myhostname = mail.linuxcast.net" postconf -e "mydomain = linuxcast.net" 默認主機名 mydestination = $myhostname,localhost.$mydimain,localhost 限制能接受郵件的發送地址 發送郵件時使用代表本機的主機名必須再次列出,否則無法接受郵件 重啟
-
域偽裝
發郵件源地址一般要偽裝 默認發出源地址為 用戶名@主機名 一般習慣為 用戶名@域名
-
通過myorigin偽裝
postconf -e "myorigin=$mydomain"
-
不要偽裝的用戶
postconf -e "masquerade_exceptions = root"
-
最后配置如下
mydomain = linuxcast.net myhostname = mail.linuxcast.net inet_interfaces = all mydestination = $myhostname,localhost.$mydimain,localhost mynetworks = 127.0.0.0/8 無需認證的地址 myorigin=$mydomain
postfix管理
查看當前郵件發送隊列
postqueue -p
刷新對立
postqueue -f
查看郵件服務日志
tail -f /var/log/maillig