postfix搭建及配置
生活随笔
收集整理的這篇文章主要介紹了
postfix搭建及配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
???????????
一.???? 電子郵件系統概述 1.???? 郵件系統角色 MUA(郵件用戶代理)、MTA(郵件傳輸代理)、MDA(郵件分發代理) 2.???? 郵件應用協議 SMTP,簡單郵件傳輸協議,TCP 25端口 POP3,第3版郵局協議,TCP 110端口 IMAP4,第4版因特網消息訪問協議,TCP 143端口 二.???? 常用的郵件服務器軟件 1.???? 商業郵件系統 ?Exchange:微軟公司的重量級產品,與Windows系列軟件產品相集成,協作性較好 ?Notes/Domino:IBM公司的商業電子郵件和辦公協作軟件產品,功能豐富、強大,提供跨平臺支持 2.???? 開源郵件系統 ?Sendmail:資格最古老,運行穩定,但安全性欠佳 ?Qmail:有更好的執行效率,配置、管理也很方便 ?Postfix:兼容Sendmail,采用模塊化設計,在投遞效率、穩定性、服務性能及安全性方面表現優秀 三.???? 編譯安裝Postfix 1.???? 停用sendmail服務,以避免沖突 ?? [root@mail ~]# service?sendmail?stop ?chkconfig?--level?35?sendmail?off 2.???? 獲得源碼文件包 ??源程序包:postfix-2.4.6.tar.gz ??VDA補丁包:postfix-2.4.6-vda-ng.patch.gz 3.???? ?添加運行郵件系統的帳號 用戶帳號 postfix ,組帳號 postfix、postdrop groupadd -g 1200 postdrop ?groupadd -g 1000 postfix useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin?postfix 4.???? 解壓釋放源碼包、合并VGA補丁 tar zxvf postfix-2.4.6.tar.gz gunzip postfix-2.4.6-vda-ng.patch.gz cd postfix-2.4.6 patch?-p1?<?../postfix-2.4.6-vda-ng.patch ??? 注意:p后面的數字取決于你補丁包里的設置,跟微軟的補丁類似 5. 預配置編譯參數 注意參考 README_FILES 子目錄中的說明文檔 添加MySQL數據庫查詢、SASL認證支持 make makefiles?'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql?-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl'?'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient?-lz?-lm?-L/usr/lib/sasl2?-lsasl2 ' 6. 編譯并完成安裝 make && make install 四.???? Postfix的主要目錄 1.???? 配置文件目錄:/etc/postfix/ 2.???? 服務程序目錄:/usr/libexec/postfix/ 3.???? 郵件隊列目錄:/var/spool/postfix/* a)?????? incoming、active、deferred b)????? hold、corrupt 4.???? 郵件管理程序目錄:/usr/sbin/* a)?????? postalias、postmap、 b)????? postconf、postfix c)?????? postqueue、postsuper 注意: l?郵件隊列子目錄: 1)incoming傳入:剛接收到的郵件?2)active活動:正在投遞的郵件?3)deferred推遲:以前投遞失敗的郵件 4)hold約束:被阻止發送的郵件5)corrupt錯誤:不可讀或不可分析的郵件 l?主要的郵件管理程序(/usr/sbin/post*) 1)postalias:用于構造、修改和查詢別名表2)postmap:用于構造、修改或者查詢查詢表 3)postconf:用于顯示和編輯main.cf配置文件4)postfix:用于啟動、停止postix,要求root用戶權限 5)postqueue:用于管理郵件隊列,一般用戶使用6)postsuper:用于管理郵件隊列,要求有root用戶權限 五.???? ?Postfix的配置文件 1.???? /etc/postfix/master.cf master主程序的配置文件 2.???? /etc/postfix/main.cf a)?? postfix服務的配置文件 3.???? 輔助配置工具 postconf a)?? 執行 postconf ,查看當前的有效配置 b)?執行 postconf -n ,查看非默認配置 c)?? 執行 postconf -d ,查看默認配置 4.???? Postfix的日志文件 1)?/var/log/maillog 記錄了postfix服務的郵件傳遞等過程信息 2)?常用分析方法 動態跟蹤日志變化 tail -f /var/log/maillog 關鍵詞搜索 egrep '(reject|warning|error|fatal|panic):' /var/log/maillog 5.???? Postfix的控制啟動 1)?Postfix服務控制 使用/usr/sbin/postfix程序 常見控制參數:start、stop、reload、check 如:postfix?start/reload/check 構建簡單電子郵件系統 一.?????????? 案例環境: IP地址:173.17.17.11/24 主機名:?mail.benet.com 郵件域:@benet.com 郵件帳號:使用本地系統用戶 使用dovecot提供收信服務 二.?????????? 域名設置 需要在 benet.com 域的DNS服務器中注冊,設置相應的A記錄和MX記錄 @????? ????IN????? MX????? 5?????? mail.benet.com. mail????? ??IN????? A?????? 173.17.17.11 三.?????????? 構建postfix服務器 1.???? ?修改 main.cf 配置文件,調整運行參數 編輯 /etc/postfix/main.cf inet_interfaces = 173.17.17.11, 127.0.0.1?????? myhostname = mail.benet.com???????????? mydomain = benet.com?????????????????? myorigin = $mydomain?外發郵件時發件人地址中的郵件域名 mydestination = $mydomain, $myhostname允許投遞到本地的郵件域名 home_mailbox = Maildir/?(Mailbox已淘汰)郵件存儲位置和格式 2.???? 重新加載配置:postfix reload 3.???? 建立郵件帳號:xiaoqi、lisi 4.???? SMTP發信測試:telnet?localhost?25 telnet localhost 25 HELO localhost???????????????????????????????????????? 250 mail.benet.com MAIL FROM: xiaoqi@benet.com???????????? 250 2.1.0 Ok RCPT TO: lisi@benet.com????????????????????? 250 2.1.5 Ok …… DATA??????????????????????????????????????????????????????? 354 End data with <CR><LF>.<CR><LF> Subject: A Test Mail??????????????????????????????? HELLO!?????????????????????????? ??????????????????? This is a test mail! . 250 2.0.0 Ok: queued as 6F24D148440 QUIT???????????????????????????????????????????????????????? 221 2.0.0 Bye Connection closed by foreign host. 四.?????????? 構建dovecot服務器 1. 編譯安裝dovecot軟件 下載源碼包 dovecot-1.1.4.tar.gz p?官方站點:http://www.dovecot.org 添加dovecot 運行用戶 解包、配置、編譯及安裝 #useradd -M -s /sbin/nologin dovecot #tar zxvf dovecot-1.1.4.tar.gz #cd dovecot-1.1.4 #./configure?--sysconfdir=/etc?--with-mysql #make && make install 2. 建立 dovecot.conf 配置文件 cp /etc/dovecot-example.conf /etc/dovecot.conf [root@mail ~]# vi /etc/dovecot.conf …… ssl_disable = yes禁用SSL機制 …… protocols = pop3 imap支持的郵局協議 …… disable_plaintext_auth = no允許明文密碼認證 …… mail_location = maildir:~/Maildir郵件存儲格式及位置 3. 創建PAM認證文件 vi /etc/pam.d/dovecot auth?????? required???? pam_nologin.so auth?????? include????? system-auth account??? include????? system-auth session??? include????? system-auth 4. 啟動dovecot服務 # /usr/local/sbin/dovecot -c /etc/dovecot.conf 5. POP3收信測試:telnet?localhost?110 [root@mail ~]# telnet localhost 110 Trying 127.0.0.1... Connected to mail.localdomain (127.0.0.1). Escape character is '^]'. +OK Dovecot ready. USER lisi +OK PASS 123456 +OK Logged in. …… LIST +OK 1 messages: 1 451 . RETR 1 +OK 451 octets Return-Path: <xiaoqi@benet.com> X-Original-To: lisi@benet.com Delivered-To: lisi@benet.com Received: from mail.benet.com (mail.benet.com [127.0.0.1]) ??????? by mail.benet.com (Postfix) with SMTP id 6F24D148440 五.?????????? 使用Outlook Express郵件客戶端 設置電子郵件帳號,并進行收發信測試 設置郵件帳號為xiaoqi(不帶@benet.com后綴) SMTP、POP3服務器:mail.benet.com 六.?????????? 擴展Postfix郵件系統的功能 1.???? 添加Webmail郵件界面:編譯安裝squirrelmail程序套件 ??? tar?jxvf?squirrelmail-1.4.13.tar.bz2?-C /usr/local/apache2/htdocs/ cd /usr/local/apache2/htdocs/ mv squirrelmail-1.4.13?webmail 解壓all_locales-1.5.1-20060219.tar ,然后拷貝locale目錄里面的所有內容到/usr/local/apache2/htdocs/webmail/locale/里面。 2.???? 創建及調整數據目錄、附件目錄 cd?? /usr/local/apache2/htdocs/webmail mkdir?-p?attach?data chown?-R?daemon:daemon?attach/?data/ [root@mail webmail]# chmod?730?attach/ 3.???? 建立并調整 config.php 配置文件 cp config/config_default.php??config/config.php vi ?config/config.php $squirrelmail_default_language = 'zh_CN'; $default_charset = 'zh_CN.UTF-8'; $domain = 'benet.com'; $smtpServerAddress = 'localhost'; $smtpPort = 25; $imap_server_type = 'dovecot'; $imapPort = 143; $data_dir = '/usr/local/apache2/htdocs/webmail/data/'; $p_w_upload_dir = '/usr/local/apache2/htdocs/webmail/attach/'; 4.???? 確認啟動 httpd 服務程序 5.???? 在瀏覽器中訪問Webmail界面http://mail.benet.com/webmail/ 七.?????????? 添加SMTP用戶認證 1. 配置并啟動saslauthd服務 建立配置文件:/usr/lib/sasl2/smtpd.conf 啟動 saslauthd 服務 cd?/usr/lib/sasl2/ [root@mail sasl2]# cp?Sendmail.conf?smtpd.conf [root@mail sasl2]# vi?/usr/lib/sasl2/smtpd.conf pwcheck_method: saslauthd [root@mail sasl2]# service?saslauthd?start 2. 調整 main.cf 文件,以便支持認證 修改后要重載postfix服務:postfix reload ?vi /etc/postfix/main.cf …… smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous mynetworks = 127.0.0.1 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination若收件人地址未在授權網絡內,則拒絕發送 八.?????????? 用戶別名與郵件群組 aliases 別名機制 一般使用 /etc/aliases 文件 aliases文件的記錄格式 p?別名: 地址1, 地址2, 地址3, …… 執行newaliases命令,以更新別名設置 九.?????????? 設置郵件大小、郵箱空間限制 1.???? 郵件大小限制 message_size_limit 2.???? 郵箱空間大小限制 mailbox_size_limit 針對Mailbox郵箱、系統用戶,缺省值為50MB virtual_mailbox_limit 針對使用虛擬用戶的情況,缺省值為50MB quota磁盤配額功能 針對使用Linux系統用戶作為郵件賬號的情況轉載于:https://blog.51cto.com/550551527/841259
總結
以上是生活随笔為你收集整理的postfix搭建及配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb子程序未定义怎么改怎么办_煤粉输送不
- 下一篇: php文件多上传文件,php文件上传(多