歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux下Postfix郵件服務的安裝過程和基本配置

linux下Postfix郵件服務的安裝過程和基本配置

日期:2017/3/3 16:00:38   编辑:關於Linux

一、postfix郵件服務的安裝

Red Hat Enterprise Linux 提供了sendmail和postfix兩種STMP郵件服務軟件,讓用戶可以隨意地選擇其中一種!不過,默認情況下安裝程序已將sendmail安裝到系統中了,如果要使用postfix,就必須先將sendmail服務停止,然後再安裝postfix服務軟件。具體操作步驟如下:

1).檢查sendmail服務是否已啟動

[root@mail ~]#netstat -nutlp | grep :25

2>. 關閉sendmail服務及開機時自啟動

[root@mail ~]#/etc/rc.d/init.d/sendmail stop

[root@mail ~]#chkconfig sendmail off

3>.安裝postfix服務

將Red Hat Enterprise Linux 5的第3張安裝盤放入光驅,加載光驅後在光盤的Server目錄下找到postfix的RPM安裝包文件postfix-2.3.3-2.i386.rpm,然後使用

下面rpm安裝:

[root@mail ~]#rpm -ivh /mnt/Server/postfix-2.3.3-2.i386.rpm

源碼包安裝:

[root@mail ~]# groupadd -g 1000 postfix

[root@mail ~]# useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix

[root@mail ~]# groupadd -g 1200 postdrop

[root@mail ~]# tar zxvf postfix-2.6.2.tar.gz

[root@mail ~]#gunzip postfix-2.6.2-vda-ng.patch.gz

[root@mail ~]# cd postfix-2.6.2

[root@mail postfix-2.6.2]#patch -pl < ../postfix-2.6.2-vda-ng.patch

[root@mail postfix-2.6.2]#make makefiles \`CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl -I/usr/local/BerkeleyDB/include -DUSE_TLS -I/usr/local/ssl/include/openssl ' 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/local/lib -lsasl2 -L/usr/local/BerkeleyDB/lib -L/usr/local/ssl/lib -lssl -lcrypto'

其中,編譯參數CCARGS和AUXLIBS的作用如下:

CCARGS參數:為編譯器提供額外的參數。“-I”選項指出標准的額外頭文件的存放目錄。例如,mysql和cyrus-sasl的頭文件分別位於目錄:/usr/local/mysql/lib/mysql、/usr/include/sasl.

AUXLIBS參數:指出位於標准位置之外的額外函數庫。如果需要鏈接SASL、MySQL或任何附加的函數庫,而且他們不是存在標准位置(/usr/lib目錄),則必須在AUXLIBS參數中指出這些函數庫的路徑,例如,mysql和cyrus-sasl的庫文件分別位於目錄:/usr/local/mysql/lib/mysql、/usr/lib/sasl2。

[root@mail postfix-2.6.2]# make

[root@mail postfix-2.6.2]# make install

執行“make install”命令以後,期間會需要設置一些安裝參數,

按照以下的提示輸入相關的路徑([]號中的是缺省值,”]”後的是輸入值)

install_root: [/] /

tempdir: [/root/postfix-2.6.2]

config_directory: [/etc/postfix]

daemon_directory: [/usr/libexec/postfix]

command_directory: [/usr/sbin]

queue_directory: [/var/spool/postfix]

sendmail_path: [/usr/sbin/sendmail]

newaliases_path: [/usr/bin/newaliases]

mailq_path: [/usr/bin/mailq]

mail_owner: [postfix]

setgid_group: [postdrop]

html_directory: [no]

manpages: [/usr/local/man]

readme_directory: [no]

以上做完回車鍵,默認自動識別設置。postfix的編譯安裝成功!

本文URL地址:http://www.bianceng.cn/OS/Linux/201410/45499.htm

二、Postfix的目錄及配置文件:

1.Postfix的相關目錄

/etc/postfix:該目錄中包括Postfix服務的主配置文件、各類腳本、查詢表等。

/usr/libexec/postfix/:該目錄中包括Postfix服務的各個服務器程序文件。

/var/spool/postfix/:該目錄中包括Postfix服務的郵件隊列相關的子目錄。

其中每個隊列子目錄用於保存不同的郵件,比如說:

1>.Incoming(傳入):剛接收到的郵件。

2>.Active(活動):正在投遞的郵件。

3>.Deferred(推遲):以前投遞失敗的郵件。

4>.Hold(約束):被阻止發送的郵件。

5>.Corrupt(錯誤):不可讀或不可分析的郵件。

/usr/sbin/:該目錄中包括Postfix服務的管理工具程序,這些程序文件名以post開頭。其中,主要的幾個程序文件及其作用如下。

1>.Postalias:用於構造、修改和查詢別名表。

2>.Postalias:用於顯示和編輯main.cf配置文件。

3>.Postfix:用於啟動、停止postfix,要求有root用戶權限。

4>.Postmap:用於構造、修改或者查詢查詢表。

5>.Postqueue:用於管理郵件隊列,一般用戶使用。

6>.Postsuper:用於管理郵件隊列,要求有root用戶權限。

2.Postfix的配置文件

Postfix系統最主要的配置文件包括:/etc/postfix/main.cf和/etc/postfix/master.cf,前者是Postfix服務的配置文件,後者是master程序的配置文件。

使用postconf工具可以查看當前Postfix服務所使用的配置參數

使用postconf工具還可以簡化main.cf文件,只保留與默認配置不同的參數,如下:

[root@mail postfix]# postconf -n > main.cf

[root@mail postfix]# mv main.cf main.cf.bak //備份

[root@mail postfix]# mv main2.cf main.cf

[root@mail postfix]# cat main.cf

3.Postfix的日志文件

Postfix系統的日志文件位於“/var/log/maillog”,此文件記錄了Postfix服務器的運行狀態信息。我們可以經常使用帶“-f”選項的tail命令查看日志。如果日志太多了我們可發使用egrep命令進行過濾。

4.postfix的啟動控制

本文URL地址:http://www.bianceng.cn/OS/Linux/201410/45499.htm

Postfix系統的啟動控制主要通過“/usr/sbin/postfix”命令進行,後面添加相應的start、stop、check、reload參數即可分別啟動、停止、檢查、重載postfix服務。

三、基於Postfix構建簡單電子郵件

1.配置並測試Postfix服務器

1>.編輯main.cf文件,調整Postfix的基本運行參數

[root@mail ~]# vi /etc/postfix/main.cf

inet_interfaces = 172.16.16.1,127.0.0.1 //設置監聽的IP

myhostname = mail.qq.com //設置主機名

mydomain = qq.com //設置郵件域

myorigin = $mydomain //設置外發郵件時發件人地址中的郵件域名

mydestination = $mydomain,$myhostname //設置可接收的郵件地址中的域名

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

2>.添加郵件用戶的帳號

[root@mail ~]# groupadd mailusers

[root@mail ~]# useradd -g mailusers -s /sbin/nologin qq001

[root@mail ~]# useradd -g mailusers -s /sbin/nologin qq002

[root@mail ~]# passwd qq001

3>.測試SMTP發送郵件

[root@mail ~]# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 mail.qq.com ESMTP Postfix

helo localhost //宣告客戶端地址

250 mail.qq.com

mail from:[email protected] //告知服務器發件人地址

250 2.1.0 Ok

rcpt to:[email protected] //告知服務器收件人地址

250 2.1.5 Ok

Data //告知服務器要傳送數據了

354 End data with <CR><LF>.<CR><LF>

subject:I Love You! //主題

hello! //郵件內容以點結束

.

250 2.0.0 Ok: queued as 27ECCE01ED

Quit //退出

221 2.0.0 Bye

Connection closed by foreign host.

我們到郵件用戶qq002的宿主目錄下進行查看,可以看到剛剛接收到的郵件保存在Maildir子目錄中。

[root@mail ~]# cat /home/qq002/Maildir/new/1611777596.Vfd00I258020M248704.mail.qq.com

Return-Path: <[email protected]> //退信地址

X-Original-To: [email protected] //來源地址

Delivered-To: [email protected] //目標地址

Received: from localhost (localhost.localdomain [127.0.0.1])

by mail.qq.com (Postfix) with SMTP id 27ECCE01ED //經過的MTA

for <[email protected]>; Thu, 28 Jan 2021 03:57:40 +0800 (CST)

subject:I Love You!

Message-Id: <[email protected]>

Date: Thu, 02 Tuesday 2010 03:57:40 +0800 (CST) //時間

From: [email protected] //發件人地址

To: undisclosed-recipients:;

helle!

Postfix服務器已經搭建好了!

2.構建Dovecot服務器

1>.編譯安裝Dovecot軟件包

[root@mail ~]# useradd -M -s /sbin/nologin dovecot

[root@mail ~]# tar zxf dovecot-1.1.4.tar.gz

[root@mail ~]# cd dovecot-1.1.4

[root@mail dovecot-1.1.4]# ./configure --sysconfdir=/etc --with-mysql

[root@mail dovecot-1.1.4]# make ; make install

說明:如果dovecot用戶無法創建,說明系統中默認就有了直接用就可以了

2>.配置Dovecot的運行參數

<1>.建立dovecot.conf配置文件並進行簡單設置

[root@mail dovecot-1.1.4]# cp /etc/dovecot-example.conf /etc/dovecot.conf

[root@mail dovecot-1.1.4]# vi /etc/dovecot.conf

ssl_disable = yes //禁用SSL機制

protocols = pop3 imap //制定支持的郵局協議

disable_plaintext_auth = no //允許明文密碼認證

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

<2>.創建PAM認證文件

[root@mail ~]# vi /etc/pam.d/dovecot

auth required pam_nologin.so

auth include system-auth

account include system-auth

session include system-auth

說明:說的是創建,其實系統裡默認就有了。

3>.啟動Dovecot服務,並查看其監聽的TCP端口(110、143)

[root@mail ~]# /usr/local/sbin/dovecot -c /etc/dovecot.conf

[root@mail ~]# netstat -nutpl | grep dovecot

tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 23251/dovecot

tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 23251/dovecot

dorecot服務的啟動程序位於“/usr/local/sbin”目錄中,使用-c選項可以指定所使用的配置文件的位置,如果使用默認配置文件,則直接執行“dovecot”命令即可。

4. 測試POP3接收郵件

[root@mail ~]# telnet localhost 110

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

+OK Dovecot ready.

user qq002 //使用郵件用戶“zpp002”登錄

+OK

pass 123.com //鍵入密碼123.com

+OK Logged in.

List //查看郵件列表

+OK 1 messages:

1 485

.

retr 1 //收取並查看第一封郵件內容

+OK 485 octets

Return-Path: <[email protected]>

X-Original-To: [email protected]

Delivered-To: [email protected]

Received: from localhost (localhost.localdomain [127.0.0.1])

by mail.qq.com (Postfix) with SMTP id 27ECCE01ED

for <[email protected]>; Thu, 28 Jan 2021 03:57:40 +0800 (CST)

subject:I Love You!

Message-Id: <[email protected]>

Date: Thu, 28 Jan 2021 03:57:40 +0800 (CST)

From: [email protected]

To: undisclosed-recipients:;

hello!

.

quit

3.使用outlook Express郵件客戶端

1>.啟動outlook Express郵件客戶端服務

在windows xp系統中通過:“開始”菜單—“程序”—“outlook Express”

2>.設置用戶使用的郵件賬戶

設置:郵件賬號名稱、登錄口令、SMTP服務器地址、POP3服務器地址

3>.驗證郵件服務器的發信、收信功能

通過菜單欄中的“發送/接受”

本文出自 “Hello_小壯” 博客,請務必保留此出處http://xiaozhuang.blog.51cto.com/4396589/865792

Copyright © Linux教程網 All Rights Reserved