技術(shù)文檔
Postfix是什么?詳見:http://zh.wikipedia.org/wiki/Postfix
關(guān)于Postfixpostfix的產(chǎn)生是為了替代傳統(tǒng)的sendmail.相較于sendmail,postfix在速度,性能和穩(wěn)定性上都更勝一籌。現(xiàn)在目前非常多的主流郵件服務(wù)其實(shí)都在采用postfix.當(dāng)我們需要一個(gè)輕量級(jí)的的郵件服務(wù)器是,postfix不失為一種選擇。1.postfix是免費(fèi)的:postfix想要作用的范圍是廣大的Internet用戶,試圖影響大多數(shù)的Internet上的電子郵件系統(tǒng),因此它是免費(fèi)的。
2.更快:postfix在性能上大約比sendmail快三倍。一部運(yùn)行postfix的臺(tái)式PC每天可以收發(fā)上百萬封郵件。
3.兼容性好:postfix是sendmail兼容的,從而使sendmail用戶可以很方便地遷移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、NIS、和~/.forward文件。
4. 性能更好:postfix被設(shè)計(jì)成在重負(fù)荷之下仍然可以正常工作。當(dāng)系統(tǒng)運(yùn)行超出了可用的內(nèi)存或磁盤空間時(shí),postfix會(huì)自動(dòng)減少運(yùn)行進(jìn)程的數(shù)目。當(dāng)處理的郵件數(shù)目增長(zhǎng)時(shí),postfix運(yùn)行的進(jìn)程不會(huì)跟著增加。
5.更靈活:postfix是由超過一打的小程序組成的,每個(gè)程序完成特定的功能。你可以通過配置文件設(shè)置每個(gè)程序的運(yùn)行參數(shù)。
6. 安全性postfix具有多層防御結(jié)構(gòu),可以有效地抵御惡意入侵者。如大多數(shù)的postfix程序可以運(yùn)行在較低的權(quán)限之下,不可以通過網(wǎng)絡(luò)訪問安全性相關(guān)的本地投遞程序等等。下面來介紹linux上如何搭建和配置postfix服務(wù):1.關(guān)掉sendmail相關(guān)的所有服務(wù),最好是直接卸載sendmail.#servicesendmailstop#chkconfigsendmailoff#rpm-qa|grepsendmail|xargsrpm-e2.安裝postfix.redhat6.0以上版本應(yīng)該是默認(rèn)集成了postfix服務(wù)的,假如沒有安裝的話,可以手動(dòng)安裝。rpm-qa|greppostifx(查看是否安裝)yuminstallpostfix3.安裝完成后,修改配置文件:/etc/postfix/main.cfgvi/etc/postfix/main.cfmyhostname=sample.test.com 設(shè)置系統(tǒng)的主機(jī)名mydomain=test.com 設(shè)置域名(我們將讓此處設(shè)置將成為E-mail地址@后面的部分)myorigin=$mydomain 將發(fā)信地址@后面的部分設(shè)置為域名(非系統(tǒng)主機(jī)名)inet_interfaces=all 接受來自所有網(wǎng)絡(luò)的請(qǐng)求mydestination=$myhostname,localhost.$mydomain,localhost,$mydomain 指定發(fā)給本地郵件的域名home_mailbox=Maildir/ 指定用戶郵箱目錄保存退出!4.為本機(jī)添加DNSserver.為什DNSServer?因?yàn)樵卩]件發(fā)送過程中,需要把郵件地址的domain地址轉(zhuǎn)化成IP地址,再去發(fā)送給對(duì)應(yīng)的收件人,這里涉及到DNS中的A記錄和MX記錄相關(guān)的知識(shí),不熟悉的同學(xué)可以google或者百度腦補(bǔ)一下:-)如何添加DNSserver呢,DNSserver去哪里尋找?vim/etc/resolv.conf添加如下行:nameserver8.8.8.8nameserver8.8.4.4上面用的8.8.8.8/8.8.4.4是GoogleFreeDNSserver,當(dāng)然還有很多免費(fèi)的DNSserver供大家使用,可以google一下:-)5.測(cè)試一下郵件是否能夠發(fā)送成功:命令行輸入$:echo"MailContent"|mail-s"MailSubject"xxxx@xxx.comNote:ifyouseebelowwaringsafteryourunabovecommand.send-mail:warning:inet_protocols:IPv6supportisdisabled:Addressfamilynotsupportedbyprotocolsend-mail:warning:inet_protocols:configuringforIPv4supportonlypostdrop:warning:inet_protocols:IPv6supportisdisabled:Addressfamilynotsupportedbyprotocolpostdrop:warning:inet_protocols:configuringforIPv4supportonlythatmeansyoudonthaveIPv6configuredinyourOSsnetworkstack,butyourmailer(presumablypostfix)isconfiguredtouseIPv6.SincethereisnoIPv6foryourmailertouse,itswarningyouthatitsonlygoingtouseIPv4.Todisablethewaringmesssage,goto/etc/postfix/main.cfandchangefrom:inet_protocols=allto:inet_protocols=ipv4Thiswillonlyuseipv4andthewarningmessagewillgoaway.Youwillhavetoissueastopandstartforpostfixtoregisterthechange.servicepostfixrestart6.查看log,確認(rèn)郵件發(fā)送狀態(tài):Postfix郵件的log位置是:/var/log/maillog發(fā)送成功的話,會(huì)返回250和OK,也可以去自己的郵件客戶端查收。一切OK的話,那Postfixmailservice應(yīng)該就搭建成功了。另外一些有用的postfix維護(hù)命令,一遍日常的檢測(cè)和維護(hù):mailq:會(huì)列出當(dāng)前在postfix發(fā)送隊(duì)列中的所有郵件postsuper-dALL:刪除當(dāng)前等待發(fā)送隊(duì)列的所有郵件,包括發(fā)送失敗的退信當(dāng)然還有很多,就不一一列舉了,大家可以網(wǎng)上搜索擴(kuò)展。