1. 程式人生 > 實用技巧 >linux RedHad下構建postfix伺服器

linux RedHad下構建postfix伺服器

電子郵件系統不用多說了.現在大公司都有.所以身為網路管理員不會郵件系統那

其實在linux系統中搭建郵件系統.搭過的都知道,很麻煩.準備工作就得做半天時間.

說白了.搭建郵件系統只要將LAMP(L:linux A:apache M:mysql P:”php”)環境構建好了.後面工作就很簡單了,此處我用的是rpm包安裝整個postfix系統.整個做下來也就2個多小時就搞定了吧廢話不多說.開始做,.

在此處電子郵件系統中.伺服器所使用的相關配置環境如下:

Ø Ip地址:192.168.142.127/24

Ø 郵件域:@mafei.com

Ø 主機名

:server.mafei.com

Ø 郵件賬號:本地系統帳號

Ø Pop3/IMAP伺服器軟體:採用rpm包安裝的Dovecot

Ø AMP平臺:完全rpm包安裝的apache.mysql.php

Ø 域名伺服器:使用預先架構的DNS伺服器.已做好mafei.com域的解析設定.併為該域添加了到192.168.142.127MX郵件交換記錄

Ø Apache域名:www.mafei.com

構建Postfix

大多數情況下RHEL5系統均預設安裝了sendmail程式用於提供基本的發信服務.因此在安裝postfix前最好將

sendmail服務停止.以免與postfix服務發生衝突.只需依次執行service sendmail stop . chkconfig –level 35 sendmail stop命令即可.

Postfix的配置檔案:

Postfix系統最主要的配置檔案包括:/etc/postfix/main.cf/etc/postfix/master.cf前者是postfix服務的配置檔案.後者是master程式的配置檔案

在主配置檔案中main.cf中可以設定的配置引數有三百多個,.大部分的配置引數都被自動設定了預設值.如果在main.cf檔案中沒有對應的設定.那麼postfix伺服器將使用預設值來啟動以及執行

.大多數時候,只需要設定少數的幾個配置引數,就可以滿足一般郵件服的要求

[[email protected] named]# service sendmail stop

關閉 sm-client [確定]

關閉 sendmail [確定]

[[email protected] Server]# rpm -ivh postfix-2.3.3-2.i386.rpm postfix-pflogsumm-2.3.3-2.i386.rpm

1:postfix ########################################### [ 60%]

2:postfix-pflogsumm ########################################### [ 80%]

1.編輯main.cf檔案.調整postfix的基本運

行引數.

110 inet_interfaces = 192.168.142.127 //修改設定postfix服務監聽的ip地址.建議all

70 myhostname = mafei.com //修改設定postfix伺服器使用的主機名

94 myorigin = $mydomain //修改設定外發郵件時發件人地址中的郵件域名

156 mydestination = $myhostname,$mydomain //修改設定可接收郵件地址的域名

411 home_mailbox = Maildir/ //設定郵件儲存位置和格式

在上面配置中.mydestination引數的值設定為$myhostname,$mydomain後傳送到[email protected] 的郵件都可以被postfix伺服器接收,.各郵箱使用者的郵件將被投遞到各自宿主目錄下的maildir子目錄中

設定完之後測試一下埠改過來沒有.如果沒有的話後面郵件會發送不成功的

[[email protected] Server]# service postfix restart

關閉 postfix [確定]

啟動 postfix [確定]

[[email protected] Server]# netstat -ant | grep 25

tcp 0 0 192.168.142.127:25 0.0.0.0:* LIS EN

tcp 0 0 127.0.0.1:25 0.0.0.0:* LIS EN

2建立執行postfix服務的使用者(postfix) (postfix,postdrop)

[[email protected] Server]# groupadd mailusers

[[email protected] Server]# useradd -g mailusers -s /sbin/nologin mymafei

[[email protected] Server]# useradd -g mailusers -s /sbin/nologin myfei

[[email protected] Server]# passwd mymafei

[[email protected] Server]# passwd myfei

因為郵件使用者並不需要使用shell登入linux系統,因此設為/sbin/nologin 以禁止登入

構建dovecot伺服器

在整個電子郵件系統中.postfix伺服器作為一個MTA軟體也就是SMTP伺服器主要提供郵件傳送和投遞的功能,若需要為MUA客戶端軟體提供收取郵件的功能.還得安裝實現POP3或者IMAP4協議的伺服器程式,

Dovecot是一個安全性較好的POP3/IMAP4伺服器軟體.響應速度快而且擴充套件性好.Dovecot也預設使用linux的系統使用者.並通過PAM(可拔插認證模組)方式進行身份驗證.通過認證的使用者才可從郵箱中收取郵件

[[email protected] dovecot-2.0.0]# cd /mafei/Server/

[[email protected] Server]# rpm -ivh dovecot-1.0-1.2.rc15.el5.i386.rpm

warning: dovecot-1.0-1.2.rc15.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing... ########################################### [100%]

1:dovecot ########################################### [100%]

修改dovecot.conf配置檔案並進行簡單設定

[[email protected] Server]# vim /etc/dovecot.conf

81 ssl_disable = yes //禁用ssl機制

17 protocols = imap pop3 //指定支援的郵局協議

42 disable_plaintext_auth = no //允許明文密碼驗證

198 mail_location = maildir:~/Maildir //設定郵件儲存格式及位置

驗證PAM認證檔案.如果不存在則建立,.

[[email protected] Server]# vim /etc/pam.d/dovecot

#%PAM-1.0

auth required pam_nologin.so

auth include system-auth

account include system-auth

session include system-auth

啟動dovecot服務

[[email protected] Server]# service dovecot restart

停止 Dovecot Imap [失敗]

啟動 Dovecot Imap [確定]

設定各個服務的開機自啟動

[[email protected] webmail]# chkconfig --level 35 named on

[[email protected] webmail]# chkconfig --level 35 httpd on

[[email protected] webmail]# chkconfig --level 35 mysqld on

[[email protected] webmail]# chkconfig --level 35 postfix on

[[email protected]ver webmail]# chkconfig --level 35 dovecot on

使用outlookExpress郵件客

啟動lookexpress 客戶端.新增登入使用者;

設定郵件伺服器的地址

輸入登入使用者名稱稱和密碼

使用郵件使用者給另外一個使用者傳送郵件

切換另外一個使用者接收郵件

擴充套件postfix郵件系統的功能

基於postfix伺服器,.dovecot伺服器構建一個簡單的電子郵件系統.此處進一步擴充套件郵件系統的功能.包括提供web郵件頁面.SMTP發信認證.配置郵件別名.限制郵箱空間以及郵件大小等

Webmail郵件頁面

Webmail指的是提供給郵件使用者發信.收信使用的網頁操作介面.通過訪問郵件系統提供的web介面.可以喝郵件客戶端軟體實現類似的郵件管理功能.使用webmail不需要預先設定郵件賬號的屬性,使用更加簡單.便捷.因此得到廣泛應用,.例如:新浪.網易.搜狐.gmail等站點都提供了 通過瀏覽器訪問郵箱的網頁平臺

squirremail的官方網站http://www.squirrelmail.org中可以獲得較新版本的原始碼包.從這裡分別下載程式檔案包squirrelmail-1.4.13.tar.bz2和中文語言包: zh_CN-1.4.13-20071220.tar.bz2
1安裝程式包.中文語言包

不用說.先將2個軟體包先拖到/root/目錄下

[[email protected] ~]# tar jxvf squirrelmail-1.4.13.tar.bz2 -C /var/www/html/

[[email protected] ~]# cd /var/www/html

[[email protected] html]# mv squirrelmail-1.4.13/ webmail

[[email protected] html]# cd webmail/

[[email protected] webmail]# tar jxvf ~/zh_CN-1.4.13-20071220.tar.bz2

2.建立及調整資料目錄.附件目錄

[[email protected] webmail]# mkdir -p attach data

[[email protected] webmail]# chown -R apache:apache attach/ data/

[[email protected] webmail]# chmod 730 attach

3.建立config.php配置檔案

[[email protected] webmail]# cp config/config_default.php config/config.php

[[email protected] webmail]# vi config/config.php

1000 $squirrelmail_default_language = 'zh_CN';

1014 $default_charset = 'zh_CN.UTF-8';

117 $domain = 'mafei.com';

145 $smtpServerAddress = '192.168.142.127'; //設定發信伺服器地址及埠

150 $smtpPort = 25;

230 $imap_server_type = 'dovecot'; //設定收信人伺服器地址及埠

209 $imapPort = 143;

$data_dir = '/var/www/html/webmail/data/'; //設定資料儲存路徑

$p_w_upload_dir = '/var/www/html/webmail/attach/';

啟動httpd服務並在瀏覽器中登入squirrelMail系統

訪問http://www.mafei.com/webmail web登入頁面中輸入郵件使用者帳號名以及密碼進行驗證

[如果啟動httpd服務時提示:

[[email protected] attach]# service httpd restart

停止 httpd [確定]

啟動 httpd[Mon Aug 02 15:05:02 2010] [warn] module php5_module is already loaded, skipping

[確定]

那就在httpd配置檔案中注視掉這行就行了 否則會找不到webmail頁面的

[[email protected] attach]# vim /etc/httpd/conf/httpd.conf

#LoadModule php5_module modules/libphp5.so

]

給另外一個使用者傳送測試郵件

使用另外一個使用者登入系統接收郵件

設定使用者別名與郵件群發功能

使用者別名是郵件系統中的一個重要功能主要用來實現郵件群發功能,郵件使用者別名的實現依賴於aliases機制.aliases機制則需要用到查詢表.

1. postix的查詢表.

Postfix伺服器在操作過程中經常需要做各式各樣的轉換與查詢例如:改寫郵件地址.判斷客戶端是否來自授權網路,設定別名等.很多執行引數都可以通過查詢表(lookuptab)來決定.

舉例來說有4個學生使用者.zhangsan.lisi.laowang.xiaoma.xiaoli老師經常要給這些學生髮送相同內容的郵件.這就需要在收件人地址中逐個新增每個學生的郵件地址.過程會非常繁瑣.如果postfix伺服器知道一個對映關係.例如名稱Myma對應這四個學生使用者.那麼老師只要給myma傳送郵件.postfix就會將郵件內容自動轉發給這四個學生使用者,.大大簡化了使用者的地址輸入工作.

修改main.cf配置檔案.使用/etc/aliases檔案中的hash資料作為查詢表

[[email protected] named]# vim /etc/postfix/main.cf

378 alias_maps = hash:/etc/aliases

2. 設定郵件別名實現群發功能

根據postifx伺服器alias_map配置引數的設定.可以將郵件使用者的別名設定對應的查詢表文件中.例如//etc/aliases檔案.在該檔案中.每一行對應為一條別名設定記錄設定格式為:”別名:地址1,地址2,地址3……”

修改/etc/aliases檔案新增別名記錄 在配置檔案最後一行新增別名記錄

[[email protected] named]# vim /etc/aliases

mafei: myfei, mymafei, myma

使配置生效

[[email protected] named]# newaliases

/etc/aliases: 77 aliases, longest 20 bytes, 790 bytes total

給別名使用者傳送郵件測試

使用被別名的使用者登入系統接收郵件

可以接收到郵件.郵件顯示的不是本使用者.而是別名使用者

使用另一個使用者登入驗證.

轉載於:https://blog.51cto.com/mapengfei/382120