1. 程式人生 > 實用技巧 >CentOS Postfix 安裝構架全解

CentOS Postfix 安裝構架全解

郵件代理

1. MUA ( Mail User Agent )

提供使用者寫信、讀信、寄信、收信的軟體。寄信的時候通過SMTP協議將郵件交給MTA ,收信的時候

使用POP3或IMAP協議訪問伺服器上的使用者郵箱。

比較常見的MUA軟體有 ThunderBird ,FoxMail ,Eudora ,mutt , Evolution的C/S結構的,也

有像SquirrelMail ,openwebmail,RoundCube ,sqwebmail 等B/S結構的MUA程式。

2. MTA ( Mail Transfer Agent )

提供接收、傳遞郵件的伺服器軟體。決定郵件傳遞的路徑,進行必要的改寫地址改寫。如果是自己

所管轄的域的郵件,就收下郵件,交給MDA進行最後的投遞。

比較著名的MTA 有sendmail ,postfix ,qmail ,extm ,Courier(其中包括mta,mda等)等,

還有一些非開源的。

3. MDA ( Mail Delivery Agent )

MDA是被MTA呼叫,負責將郵件投遞到使用者的郵箱。MDA也可以過濾郵件內容,或是按照使用者的規則,

將郵件分類到適當的郵箱;甚至可以將郵件轉回給MTA,以寄到另一個郵箱中。

在類Unix的系統中,procmail和maildrop是比較著名的MDA程式,在dovecot軟體中也有MDA的功

能。

clipboard

postfix與其他元件之間的關係

clipboard[1]

1.瞭解基本概念和原理後,進行安裝操作。先確定自己安裝的系統

clipboard[2]

2.配置主機名

編輯/etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.1.210 pretty.girl.face

編輯/etc/sysconfig/network 檔案,修改HOSTNAME的值

HOSTNAME=pretty.girl.face

更新系統

yum update -y

reboot

3.安裝基本軟體包

1)安裝編譯軟體

yum install -y gcc gcc-c++ rpm-build autoconf automake

2)安裝apache,php,mysql

yum install -y mysql mysql-server mysql-devel

yum install -y httpd mod_ssl php php-mysql php-mbstring php-imap php-pear-DB

啟動httpd

/etc/init.d/httpd start

啟動mysqld

/etc/init.d/mysqld start

3 ).驗證apache,php,mysql是否正確安裝

echo "<?php

phpinfo();

?>" &gt; /var/www/html/test.php

訪問,http://192.168.1.210/test.php,檢查是否支援mysql,imap功能。

4.安裝mail工具

yum -y install mutt

5.解除安裝sendmail

yum -y remove sendmail

6.安裝postfix

yum -y install postfix

7.編輯/etc/postfix/main.cf

1)設定主機名

myhostname = pretty.girl.face

2)發信時所顯示的“發信源主機”專案

myorigin = $myhostname

3)設定postfix的監聽埠

inet_interfaces = all

4)設定能夠“收信的主機名稱”(目的地地址)

mydestination = $myhostname,localhost. $mydomain,localhost, $mydomain

5)指定信任網段型別

mynetworks_style= host

6)指定信任的客戶端

mynetworks = 192.168.1.0/24, 127.0.0.0/8

7)指定允許中轉郵件的域名

relay_domains = $mydestination

8) 設定郵件的別名

alias_maps = hash:/etc/aliases

4.啟動postfix服務,並設定為開機啟動

chkconfig postfix on

/etc/init.d/postfix restart

netstat -tlnup | grep 25

clipboard[3]

5.安裝dovecot,cyrus-sasl並進行設定

yum -y install dovecot cyrus-sasl

vim /etc/dovecot.conf

protocols = pop3

listen = *

測試一下好了

clipboard[4]

查收一下

clipboard[5]

6.設定postfix支援smtp認證

1)執行saslauthd -v

clipboard[6]

可以顯示saslauthd支援的認證機制

2)編輯/etc/sysconfig/saslauthd檔案,確認為

MECH=shadow

3)啟動saslauthd

service saslauthd start

/usr/sbin/testsaslauthd -u user -p 'password'可以嘗試測試saslauthd認證是否生效

clipboard[7]

4)設定postfix支援smtp認證

在main.cf檔案中更改如下:
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

5)測試SMTP認證是否成功

由於剛才配置的postfix的SMTP使用者身份認證採用的不是明文方式,所以要首先計算出自己的使用者名稱和密碼才行。通過perl命令就可以算出來

clipboard[8]

clipboard[9]

期間遇到,

telnet: Unable to connect to remote host: Connection refused

查詢可能是xinted服務沒有啟動。

service xinted start

至此,說明配置postfix伺服器SMTP使用者認證成功。

嘗試設定客戶端

clipboard[10]

嘗試傳送郵件

clipboard[11]

說明伺服器執行正常。

postfix服務只是一個MTA(郵件傳輸代理),它只提供SMTP服務,也就是隻提供轉發和本地分發的功能。要實現一臺伺服器既作為郵件傳送服務,又可以儲存郵件,還必須安裝POP3或IMAP服務。那麼這臺主機也就稱作為郵件伺服器。2個軟體可以同時提供POP3和IMAP服務:Dovecot和cyrus-imapd。

6)以web方式收發電子郵件-SquirreMail安裝與配置

http://www.squirrelmail.org下載地址

squirrelmail-webmail-1.4.22.tar.gz(軟體)

all_locales-1.4.18-20090526.tar.gz(語言包)

clipboard[12]

tar zxvf squirrelmail-webmail-1.4.22.tar.gz -C /var/www/html/

cd /var/www/html

mv squirrelmail-webmail-1.4.22/ webmail

cd webmail/

建立及調整資料目錄

clipboard[13]

建立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 = 'pretty.girl.face';

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

$smtpPort = 25;

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

$imapPort = 143;

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

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

在web中嘗試

clipboard[14]

clipboard[15]

注:確保Web伺服器有許可權讀取和寫在PHP的配置指令session.save_path的指定目錄(vim /etc/php.ini)

clipboard[16]

簡單的webmail收發就設定完成了。

轉載於:https://blog.51cto.com/sailforever/943193