這幾天在看postfix的一些東西,也就把看到的一些問題整理了一下,本文會不斷的更新以加入新的問題解決辦法。 1,Q:我從哪兒可以得到postfix的RPM安裝包? A:http://www.pobox.com/~sjmudd/postfix 2,Q:我下載的RPM安裝包,但是在安裝過程中出現了一個錯誤無法繼續安裝? A:Postfix是用來替代sendmail的,除非你用源碼進行安裝,否則,sendmail和postfix是不能同時存在在一個系統上的。要想解決這個問題,必須要把sendmail刪掉,但刪除之前,最好對sendmail做一個備份。以root身份登錄: mkdir /root/sendmail-old cp /etc/aliases /root/sendmail-old cp /etc/sendmail.cf /root/sendmail-old cp /etc/sendmail.cw /root/sendmail-old cp /etc/mail/* /root/sendmail-old rpm -e sendmail sendmail-doc sendmail-cf --nodeps (在卸載sendmail的時候可能會有一些錯誤,用--nodeps可以不顯示錯誤信息) killall sendmail rpm -Uvh postfix-postfix-1.1.11-5.i386.rpm 3:Q:我是用的Red Hat Linux 7.3以上的版本,sendmail和postfix都已經安裝上了,但系統現在用的是sendmail,我應該怎麼辦? A:在Red Hat Linux 7.3以上的版本提供了兩個MTA軟件:sendmail和postfix,默認情況下,系統用的是sendmail,如果你想用postfix,你可以在圖形界面下,GNOME選擇Main Menu Button (就是左下角的大按紐) => Programs => System => Red Hat Mail Transport Agent Switcher 。KDE選擇Main Menu Button (就是左下角的大按紐) System => Red Hat Mail Transport Agent Switcher。也可以在終端裡輸入指令redhat-switchmail,如果這時沒有啟Xwindow系統,程序會自動把Xwindow系統啟來,你可以用redhat-switchmail-nox來強制讓程序運行在text模式下。在這個程序裡你可以選擇你所要用的MTA軟件,是sendmail還是postfix,如果想用postfix,選中postfix,保存退出。 /sbin/service sendmail stop 停止sendmail服務 /sbin/service postfix start 啟動postfix服務 這樣系統的MTA就換成postfix了。 4,Q:安裝完成了,我應該怎麼來配置呢? A:postfix的配置文件位於/etc/postfix目錄下,一共有四個最基本的配置文件:install.cf main.cf master.cf postfix-script。 mail.cf:是postfix主要的配置文件。 Install.cf:包含RPM包安裝過程中安裝程序產生的postfix初始化設置。 master.cf: 是postfix的master進程的配置文件,該文件中的每一行都是用來 配置postfix的組件進程的運行方式。 postfix-script:這個裡面包含了一些postfix命令,以便我們在linux環境中 安全地執行這些postfix命令。 這些配置文件你只需要對/etc/postfix/mail.cf時行配置就可以了。 5,Q:我以前sendmail下的aliases怎麼辦? A:你可以把安裝postfix前備份的sendmail的aliases文件拷貝到/etc/postfix/aliases,如果確認配置沒有什麼問題並且在mail.cf中的配置是正確的,就輸入newaliases把文件轉換成db文件就OK了。 6,Q:我使用了majordomo,並且我的所有aliases都在/etc/mail/majordomo裡,我應該怎麼辦? A:把你以前用的majordomo文件可以拷貝到/etc/postfix/majordomo,並且保證在mail.cf中#alias_database = hash:/etc/aliases,hash:/opt/majordomo/aliases這一行是沒有被注釋掉的,修改這一行為#alias_database = hash:/etc/aliases,hash:/etc/postfix/majordomo,保存退出後,運行newaliases,如果你使用了bulk_mailer,你還需要對你的majordomo aliases做一些修改。 7,Q:postfix用的是什麼mail delivery agent (MDA)? A:postfix可以配置來用不同的MDA軟件,在Red Hat Linux下默認的MDA軟件是procmail,procmail對於Red Hat Linux和postfix是非常好用 的,沒有理由去使用其它的MDA軟件。你可以用rpm -q procmail檢查你的系統是否安裝了procmail。 8,Q:對於postfix的安全性,我如何讓postfix不響應verify請求? A:在默認的情況下,postfix是不對verify請求響應的。不充許通過發通電子郵件來探知用戶是否存在。可以看下面的例子: [root@linuxserver /]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 linuxserver.test.com ESMTP Postfix PostFix-v.2000 helo localhost 250 linuxserver.test.com vrfy testuser 252 Send mail to find out quit 221 Bye Connection closed by foreign host. [root@linuxserver /]# 9,Q:在sendmail中我的設置有的虛擬域,在postfix下我如何來用呢? A:在postfix中使用虛擬域要比sendmail的配置方便多了,它沒有用m4來處理,是一些簡單易懂的E文。首先在/etc/postfix/mail.cf中要配 置上你的虛擬域為正確的轉發和接收域,修改/etc/postfix/main.cf中的mydestination參數,缺省地,postfix接受符合以下條件的郵件:目 的地為$inet_interfaces的郵件、目的地為$mydestination的郵件、目的地為$virtual_maps的郵件。修改/etc/postfix/mail.cf文件中的參數 virtual_maps=hash:/etc/postfix/virtual,如果/etc/postfix/virtual不存在,就新創建一個,下面是一個virtual文件的示例: [root@linuxserver /]cat /etc/postfix/virtual linux.net, abc.com, cc123.org, ppp.com 10,Q:postfix中我如何讓我的配置生效? A:以root用戶身份 postfix reload 11,Q:postfix中我如何刷新郵件隊列? A:以root用戶身份 postfix flush 12,Q:我必須使用一些map文件,來設置Access文件和mailertable,我如何把這些轉換成.db格式? A:以root用戶身份 postmap /etc/postfix/access postmap 或 /etc/postfix/mailertable 13,Q:我如何讓postfix開機後自己運行? A:你可以通過ntsysv工具,選中postfix 14,Q:我如何設置postfix的隊列延遲? A:你可以在postfix的主要配置文件/etc/postifx/main.cf中修改下列參數: queue_run_delay (默認值 1000秒) #設置多長時間隊列管理進程去掃描無法投遞的郵件 Maximal_queue_lifetime (默認值 5天) #設置郵件在隊列裡的最長時間 Minimal_bacKOFf_time (默認值 1000秒) #在這個時間內,郵件不能夠被鎖定 Maximal_backoff_time (默認值 4000秒) #在這個時間之後,如果郵件仍然沒有被投遞,就認為是無法投遞 qmgr_message_recipient_limit (默認值 1000) 15,Q:如何禁止postfix對客戶端IP作反向域名解析? A:以root用戶身份登錄 postconf -e disable_client_dns_lookup = 1 postfix reload 16,Q:有什麼工具可以幫忙我分析我的postfix日志嗎? A:James S. Seymour用perl寫了一個叫pflogsumm.pl的腳本,可以到這裡下載: http://jimsun.linxnet.com/postfix_contrib.Html,然後可以在crontab中添加下面的內容: 0 2 * * * /path/to/pflogsumm.pl -d today /var/log/maillog mail -s "Mail Report"
[email protected] 定時把分析報告寄給你,其它的一些使用參數可以看pflogsumm.pl裡的信息。