Linux下centos7搭建postfix郵件服務(wù)器系統(tǒng)

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

現(xiàn)在雖然有很多的免費(fèi)郵局,不過(guò)我們發(fā)送的郵件有時(shí)候很多,或者很多同事在用,價(jià)格就會(huì)昂貴,其實(shí)并不是垃圾郵件,就是與其他廠商來(lái)交互的郵件,這時(shí)候就需要自己建立一個(gè)郵局比較好,下面我們就來(lái)說(shuō)說(shuō)centos7搭建postfix郵件系統(tǒng);

1. 郵件系統(tǒng)的簡(jiǎn)單介紹:

電子郵件系統(tǒng)基于郵件協(xié)議來(lái)完成電子郵件的傳輸,常見的郵件協(xié)議有下面這些。

  簡(jiǎn)單郵件傳輸協(xié)議(Simple Mail Transfer Protocol,SMTP):用于發(fā)送和中轉(zhuǎn)發(fā)出的電子郵件,占用服務(wù)器的25/TCP端口。

  郵局協(xié)議版本3(Post Office Protocol 3):用于將電子郵件存儲(chǔ)到本地主機(jī),占用服務(wù)器的110/TCP端口。

  Internet消息訪問(wèn)協(xié)議版本4(Internet Message Access Protocol 4):用于在本地主機(jī)上訪問(wèn)郵件,占用服務(wù)器的143/TCP端口。

一個(gè)最基礎(chǔ)的電子郵件系統(tǒng)肯定要能提供發(fā)件服務(wù)和收件服務(wù),為此需要使用基于SMTP協(xié)議的Postfix服務(wù)程序提供發(fā)件服務(wù)功能,并使用基于POP3協(xié)議的Dovecot服務(wù)程序提供收件服務(wù)功能。這樣一來(lái),用戶就可以使用Outlook Express或Foxmail等客戶端服務(wù)程序正常收發(fā)郵件了。

實(shí)際操作:

  1. 準(zhǔn)備環(huán)境?,開放需要的端口,并卸載sedmail,域名解析配置,修改hostname
  2. 安裝并且配置好postfix發(fā)件服務(wù)
  3. 安裝并且配置好dovect收件服務(wù)
  4. 測(cè)試,檢查發(fā)送情況。

2. 準(zhǔn)備環(huán)境:

  ?首先我們檢查我們的服務(wù)器能否telnet通我們要發(fā)送的一些郵件服務(wù)商的端口,比如qq,163,gmail等,如果不通的話需要更換服務(wù)器,因?yàn)榇朔?wù)器商將這些給攔截了,

正常的現(xiàn)象是:出現(xiàn)220字樣才是正常的。

以下命令不需修改,復(fù)制執(zhí)行即可

yum install xinetd telnet telnet-server -y
telnet smtp.qq.com 25 

我們需要開放我們需要的端口,端口有25(SMTP服務(wù),用于發(fā)送郵件),110(pop3服務(wù),用于接收郵件)143(imap服務(wù),用于接收郵件)

如果你只想用pop3服務(wù),那么我們只需要打開110和25端口即可,如果我們使用了ssl的話,

pop3就需要開放我們的465(發(fā)件)?995(收件)端口

imap就需要開放我們的465(發(fā)件)?993(收件)端口

  2.1 開放端口:

firewall-cmd --add-port=25/tcp --permanent

firewall-cmd –-add-port=110/tcp --permanent

firewall-cmd --reload

  2.2?移除sendmail

rpm -e sendmail 或者 yum remove sendmail

  2.3?域名解析配置

我們需要添加A記錄和mx記錄。首先添加A記錄解析到我們的服務(wù)器ip。

2.4?mx 記錄

在需要填入值的地方填入我圖片中的對(duì)應(yīng)字符。

  2.5?修改hostname

hostnamectl  set-hostname   mail.域名

  2.6 修改MTA(默認(rèn)郵件傳輸代理)

alternatives --config mta

然后直接回車即可。

檢查一下是不是已經(jīng)設(shè)置成功了。

alternatives --display mta

第一行可以看到mta的狀態(tài)。 例如:mat - status is manual.就是ok了。

3. POSTFIX

postfix是提供發(fā)件服務(wù)的(注意:修改配置文件需備份,以下步驟未包含備份。)

postfix服務(wù)程序主配置文件中的重要參數(shù)。

參數(shù) 作用
myhostname 郵局系統(tǒng)的主機(jī)名
mydomain 郵局系統(tǒng)的域名
myorigin 從本機(jī)發(fā)出郵件的域名名稱
inet_interfaces 監(jiān)聽的網(wǎng)卡接口
mydestination 可接收郵件的主機(jī)名或域名
mynetworks 設(shè)置可轉(zhuǎn)發(fā)哪些主機(jī)的郵件
relay_domains 設(shè)置可轉(zhuǎn)發(fā)哪些網(wǎng)域的郵件

  3.1 安裝 postfix

在centos7里我們的postfix是系統(tǒng)自帶的,但是centos7以前的版本是默認(rèn)不帶的,centos7版本以前是sendmail

如果沒(méi)有則安裝 :

yum install postfix

  3.2 配置:

1
vim?/etc/postfix/main.cf

修改內(nèi)容:

# 75行: 取消注釋,設(shè)置hostname 
myhostname = mail.abc.com 
# 83行: 取消注釋,設(shè)置域名 
mydomain = abc.com 
# 99行: 取消注釋 
myorigin = $mydomain 
# 116行: 默認(rèn)是localhost,我們需要修改成all
inet_interfaces = all 
# 119行: 推薦ipv4,如果支持ipv6,則可以為all 
inet_protocols = ipv4 
# 164行: 添加 
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 
# 264行: 取消注釋,指定內(nèi)網(wǎng)和本地的IP地址范圍 
mynetworks = 127.0.0.0/8
# 419行: 取消注釋,郵件保存目錄
 home_mailbox = Maildir/ 
# 571行: 添加 
smtpd_banner = $myhostname ESMTP 
# 添加到最后 
# 規(guī)定郵件最大尺寸為10M 
message_size_limit = 10485760 
# 規(guī)定收件箱最大容量為1G 
mailbox_size_limit = 1073741824 
# SMTP認(rèn)證 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_local_domain = $myhostname 
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

以上對(duì)應(yīng)的對(duì)應(yīng)的行數(shù)位置可能隨著版本不同會(huì)有差異。具體的一些參數(shù)含義在本小節(jié)前面有解釋

  3.3 開啟postfix服務(wù)并添加到系統(tǒng)自啟。

systemctl  restart  postfix
systemctl  enable  postfix

4. 安裝并配置dovecot

???????4.1 安裝dovecot

yum install dovecot

  4.2 配置dovect

編輯文件dovecot.conf

vim /etc/dovecot/dovecot.conf

更改內(nèi)容:

# 26行: 如果不使用IPv6,請(qǐng)修改為* 
listen = *
#在主配置文件中的第48行,設(shè)置允許登錄的網(wǎng)段地址,也就是說(shuō)我們可以在這里限制只有來(lái)自于某個(gè)網(wǎng)段的用戶才能使用電子郵件系統(tǒng)。如果想允許所有人都能使用,則不用修改本參數(shù)
login_trusted_networks = 192.168.10.0/24更改內(nèi)容

編輯文件10-auth.conf

vim /etc/dovecot/conf.d/10-auth.conf

更改內(nèi)容:

# 9行: 取消注釋并修改 disable_plaintext_auth = no 
# 97行: 添加 auth_mechanisms = plain login

編輯文件10-mail.conf

vim /etc/dovecot/conf.d/10-mail.conf

更改內(nèi)容:

# 30行: 取消注釋并添加 mail_location = maildir:~/Maildir

編輯文件10-master.conf

vim /etc/dovecot/conf.d/10-master.conf

更改內(nèi)容:

# 88-90行: 取消注釋并添加 # Postfix smtp驗(yàn)證 
unix_listener /var/spool/postfix/private/auth { 
mode = 0666 
user = postfix
group = postfix
}

注意:如果我們沒(méi)有使用ssl的話需要進(jìn)行下面的操作。使用了則不需要。

編輯文件10-ssl.conf

vim /etc/dovecot/conf.d/10-ssl.conf

更改內(nèi)容

# 8行: 將ssl的值修改為 ssl = no

啟動(dòng)dovecot并添加到開機(jī)自啟。

systemctl restart dovecot
systemctl enable dovecot

5. 收發(fā)郵件測(cè)試

???5.1 創(chuàng)建用戶

  郵件的用戶是和系統(tǒng)用戶一致的,也就是說(shuō)系統(tǒng)用戶可以當(dāng)做郵件用戶。

創(chuàng)建用戶并設(shè)置密碼

useradd admin
passwd admin

?5.2 使用foxmail進(jìn)行登陸

1中我們需要選擇我們之前開放端口對(duì)應(yīng)的服務(wù)器類型。

2中 我們只需要填入我們的用戶名,例如admin,root

3中 我們收件和發(fā)件都填入我們的mail.域名。例?mail.abc.com

4?中 我們?nèi)绻褂昧藄sl的話就需要勾選,如果沒(méi)有使用的話就不需要勾選

入相應(yīng)信息后我們即可登陸了。然后我們可以進(jìn)行收發(fā)郵件了,我們可以測(cè)試給自己的qq發(fā)一封郵件.

如果我們查看日志發(fā)現(xiàn)?status=bounced ,那么就意味著qq的郵件服務(wù)器將我們這個(gè)服務(wù)器IP設(shè)為惡意IP,不接收這個(gè)IP發(fā)送的郵件。也就意味著如果我們要發(fā)郵件到qq郵箱的話,就需要更換服務(wù)器ip。

如果狀態(tài)是上面的話,就意味著可以正常發(fā)送,還要注意一點(diǎn)的就是我們郵件服務(wù)器的郵件很多時(shí)候會(huì)被放在垃圾箱里,所以當(dāng)你發(fā)送了郵件你在收件箱沒(méi)看到,你可以去垃圾箱里面看看有沒(méi)有。接收方面一般沒(méi)有什么問(wèn)題,用qq郵箱發(fā)送給自己即可(admin@abc.com)

?注意事項(xiàng):

我們郵件服務(wù)器在設(shè)定mynetworks?這個(gè)值的時(shí)候,一行不要設(shè)置all,因?yàn)闀?huì)有很多服務(wù)器會(huì)將你的服務(wù)器作為中轉(zhuǎn)郵件服務(wù)器,最終導(dǎo)致的你的郵件服務(wù)器發(fā)送的郵件被qq,163,gamil,這些郵件服務(wù)商標(biāo)記為垃圾郵件。

當(dāng)某天我們檢查我們的mail日志(/var/log/maillog)時(shí)發(fā)現(xiàn)很多郵件發(fā)送,而且郵件不是我們自己產(chǎn)生的話,那么我們的郵件服務(wù)器是出了問(wèn)題的

這時(shí)我們服務(wù)器一定有很多郵件堆積,然后自己郵件會(huì)發(fā)不出去。

我們需要做的操作:檢查

du -sh /var/spool/postfix/*

查看目錄下的defer和deferred的目錄大小,通過(guò)postqueue –p來(lái)查看隊(duì)列的郵件,通過(guò)postsuper -d ALL?刪除所有的隊(duì)列郵件。

?最后附上屏蔽刷postfix的 IP腳本

#!/bin/bash

LOGFILE="/var/log/maillog"

#統(tǒng)計(jì)maillog中authentication failure的IP個(gè)數(shù)與IP
grep "authentication failure" $LOGFILE|awk '{print $7}'|grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"|sort|uniq -c > af_iplist.txt

#取出AF出現(xiàn)大于300次時(shí)的IP
awk '$1>300 {print $2}' af_iplist.txt > block_ip_list.txt

#大于300次AF的IP添加到iptables中
cat block_ip_list.txt|while read line
do
/sbin/iptables -nL | grep $line
if [ $? != 0 ]
then
    iptables -I INPUT -s $line -j DROP
fi
done

問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對(duì)《免責(zé)聲明》全部?jī)?nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來(lái)自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)聯(lián)系站長(zhǎng)并出示版權(quán)證明以便刪除。 敬請(qǐng)諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評(píng)論,如有謬誤,請(qǐng)聯(lián)系指正;轉(zhuǎn)載請(qǐng)注明出處: » Linux下centos7搭建postfix郵件服務(wù)器系統(tǒng)

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊(cè)服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情