CentOS 搭建Postfix+Dovecot簡單郵件系統

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

服務器信息

系統:CentOS 6.5 minimal版本

主機:虛擬機

虛擬機IP:192.168.128.128/24

宿主IP:10.1.79.24/24

安裝postfix

注意:CentOS 7實際上已經用postfix+Sasl2代替sendmail了,因此無需安裝。

1.移除sendmail

安裝完成還需要替換系統自帶的sendmail:

# rpm -e sendmail
#或者
# yum remove sendmail

修改MTA(默認郵件傳輸代理)

手寫查看有哪些可以選擇的郵件系統

alternatives --display mta
mta - status is manual.
link currently points to /usr/sbin/sendmail.sendmail
/usr/sbin/sendmail.sendmail - priority 90
slave mta-pam: /etc/pam.d/smtp.sendmail
slave mta-mailq: /usr/bin/mailq.sendmail
slave mta-newaliases: /usr/bin/newaliases.sendmail
slave mta-rmail: /usr/bin/rmail.sendmail
slave mta-sendmail: /usr/lib/sendmail.sendmail
slave mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
slave mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
slave mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
slave mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.postfix - priority 30
slave mta-pam: /etc/pam.d/smtp.postfix
slave mta-mailq: /usr/bin/mailq.postfix
slave mta-newaliases: /usr/bin/newaliases.postfix
slave mta-rmail: /usr/bin/rmail.postfix
slave mta-sendmail: /usr/lib/sendmail.postfix
slave mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
slave mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
slave mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
slave mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz
Current `best' version is /usr/sbin/sendmail.sendmail.

然后我們修改為/usr/lib/sendmail.postfix

alternatives --set mta /usr/sbin/sendmail.postfix

檢查一下是不是已經設置成功了。

alternatives --display mta | grep "/usr/sbin/sendmail.postfix"

第一行可以看到mta的狀態。 例如:

鏈接當前指向 /usr/sbin/sendmail.postfix
/usr/sbin/sendmail.postfix - priority 30
當前“最佳”版本是 /usr/sbin/sendmail.postfix。

配置Postfix

編輯/etc/postfix/main.cf,可以下載下來修改,也可以使用vi進行編輯:

vi /etc/postfix/main.cf

編輯內容如下

# 75行: 取消注釋,設置hostname
myhostname = mail.bujidao.me
# 83行: 取消注釋,設置域名
mydomain = bujidao.me
# 99行: 取消注釋
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推薦ipv4,如果支持ipv6,則可以為all
inet_protocols = all
#209行,把前面的注釋拿掉,不然無法發送到公網 【http://www.cnblogs.com/apexchu/p/4271264.html】
local_recipient_maps =  
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注釋,指定內網和本地的IP地址范圍
mynetworks = 127.0.0.0/8, 10.1.79.0/24,192.168.128.128
# 419行: 取消注釋,郵件保存目錄
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP $mail_name# 添加到最后
# 規定郵件最大尺寸為10M
message_size_limit = 10485760
# 規定收件箱最大容量為1G
mailbox_size_limit = 1073741824
# SMTP認證
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

修改好了之后使用service開啟postfix,使用chkconfig postfix on將postfix開機啟動。

#service postfix restart
#checkconfig postfix  on #開機啟動,可選

安裝Dovecot

yum -y install dovecot

配置Dovecot

1.修改dovecot.cong

 vi /etc/dovecot/dovecot.conf

修改如下:

listen = *,::protocols = imap pop3 lmtp

2.修改auth.conf

vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注釋并修改,表示允許使用明文驗證
disable_plaintext_auth = no
# 97行: 添加,表示允許使用明文登錄
auth_mechanisms = plain login

3.修改mail.conf

vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注釋并添加,使用qmail風格
mail_location = maildir:~/Maildir

4.修改master.conf

vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注釋并添加
# Postfix smtp驗證
unix_listener /var/spool/postfix/private/auth {mode = 0666user = postfixgroup = postfix
}

5.修改pop3.conf

vi /etc/dovecot/conf.d/20-pop3.conf
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

6.配置ssl驗證

?vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no????#不開啟SSL
#暫時不開啟ssl,因為我們沒有合法的證書,自簽名證書可能存在問題
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem???

??7.啟動dovecot并設置開機啟動

service dovecot start
chkconfig dovecot on 

8.檢查相關端口

ps aux | grep "dovecot"
root       3894  0.0  0.1 107936   604 pts/1    S+   14:27   0:00 tail -f dovecot-err.log
root       4040  0.0  0.1 107936   604 pts/2    S+   14:53   0:00 tail -f /var/log/dovecot-info.log
root       4442  0.0  0.3  15640  1520 ?        Ss   16:01   0:00 /usr/sbin/dovecot -F
dovecot    4445  0.0  0.2   9308  1024 ?        S    16:01   0:00 dovecot/anvil
root       4446  0.0  0.2   9436  1184 ?        S    16:01   0:00 dovecot/log
root       4517  0.0  0.2 112664   972 pts/0    R+   16:12   0:00 grep --color=auto dovecot

或者

netstat -lntp -4
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      4533/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      4533/dovecot        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      969/sshd            
tcp        1      0 0.0.0.0:25              0.0.0.0:*               LISTEN      4361/master  

使用lsof查詢

lsof -i :143
COMMAND ?PID USER ? FD ? TYPE DEVICE SIZE/OFF NODE NAME
dovecot 4533 root ? 36u ?IPv4 ?95185 ? ? ?0t0 ?TCP *:imap (LISTEN)
dovecot 4533 root ? 37u ?IPv6 ?95186 ? ? ?0t0 ?TCP *:imap (LISTEN)
lsof -i :110
COMMAND ?PID USER ? FD ? TYPE DEVICE SIZE/OFF NODE NAME
dovecot 4533 root ? 24u ?IPv4 ?95149 ? ? ?0t0 ?TCP *:pop3 (LISTEN)
dovecot 4533 root ? 25u ?IPv6 ?95150 ? ? ?0t0 ?TCP *:pop3 (LISTEN)
lsof -i :25

COMMAND ?PID USER ? FD ? TYPE DEVICE SIZE/OFF NODE NAME
master ?4361 root ? 13u ?IPv4 ?93270 ? ? ?0t0 ?TCP *:smtp (LISTEN)
master ?4361 root ? 14u ?IPv6 ?93271 ? ? ?0t0 ?TCP *:smtp (LISTEN)

可以看到master是stmpd,占用了25,dovecot占了110(pop3),143(imap)端口

郵箱驗證與使用

創建用戶

一切都弄好以后,就可以使用Foxmail等第三方軟件來收發郵件了。在這里需要說一下,系統用戶就是郵件的用戶,例如root,就是一個郵箱用戶,郵箱是root@domain.com,密碼就是root的密碼,所以需要創建用戶,只要使用adduser創建用戶,再使用passwd設置密碼。

好了,假如我們創建一個admin的用戶:

#創建用戶組與用戶,并且不允許用戶登錄系統,但是賬戶存在,只用于郵箱
groupadd mailusers
adduser -g mailusers -s /sbin/nologin martin
adduser -g mailusers -s /sbin/nologin jack#分別給martin和jack添加密碼
passwd martin
passwd jack

?

使用偽域名驗證

原則上,我們要使用郵箱,必須具有域名才行,我們要么搭建自己的DNS服務器,要么購買域名,這里為了方便,我們通過修改hosts的方式來實現

修改虛擬機上的hosts

127.0.0.1       bujidao.me
192.168.128.128 bujidao.me127.0.0.1       mail.bujidao.me
192.168.128.128 mail.bujidao.me

然后修改宿主機上的hosts,如果你沒使用宿主機,那么宿主機hosts就不需要修改了,但是大多數時候,我們需要修改。

添加如下內容

192.168.128.128 bujidao.me
192.168.128.128 mail.bujidao.me

關閉虛擬防火墻

service iptables stop

使用foxmail代理客戶端收發郵件

然后創建,到下個頁面修改 郵件賬號

注意:紅色框部分不能帶 @domain,否則登錄不了,因為我們給系統創建的賬戶并沒有添加郵箱

點擊創建,就可以添加jack賬戶了,用同樣的方式,我們可以將martin添加到foxmail

?

然后,我們可以使用jack,martin相互發送郵件了

同樣也可以給其他郵箱發,我給某網站郵箱發郵件也是成功的,當然,我們反對垃圾郵件,做一名好公民使我們的本分

參考:

Linux系統下郵件服務器的搭建(Postfix+Dovecot)

CentOS 6.5 安裝與配置郵件服務器(postfix + dovecot)??

Postfix+Dovecot+MySQL搭建郵件服務器

CentOS 6.4 郵件服務器之Postfix + dovecot + sasl 筆記??

postfix 安裝配置詳解

轉載于:https://my.oschina.net/ososchina/blog/861957

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282552.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282552.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282552.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Js獲取當前頁面URL各種參數

JS獲取當前頁面URL各種參數 一&#xff1a;Location Location 對象包含有關當前 URL 的信息。 Location 對象是 Window 對象的一個部分&#xff0c;可通過 window.location 屬性來訪問。 hash設置或返回從井號 (#) 開始的 URL&#xff08;錨&#xff09;。host設置或返回主機名…

php面試題2018

一 、PHP基礎部分 1、PHP語言的一大優勢是跨平臺&#xff0c;什么是跨平臺&#xff1f; PHP的運行環境最優搭配為ApacheMySQLPHP&#xff0c;此運行環境可以在不同操作系統&#xff08;例如windows、Linux等&#xff09;上配置&#xff0c;不受操作系統的限制&#xff0c;所以…

學生黨的專屬定制福利,你想要的這里全都有!

同學們&#xff1a;您好&#xff01;很?興認識?家&#xff01;我是微軟的 Regional Cloud Advocate Kinfey Lo&#xff0c;感謝您在課余時間打開這封信。踏??秋&#xff0c;技術峰會進?了旺季&#xff0c;有?向商業的&#xff0c;有?向開發者的&#xff0c;有?向技術社…

Quartus prime16.0 與modelsim ae 聯調

前言 quartus和modelsim聯調對仿真還是很方便的&#xff0c;當然最好是quartus干綜合到燒錄的活&#xff0c;modelsim單獨仿真。而且ae版的性能比se版差。 流程&#xff1a; 1.配置modelsim ae路徑&#xff1a; 我這里是這個路徑&#xff0c;根據你自己安裝的地方配置路徑。 2.…

30分鐘搞定后臺登錄界面(103個后臺PSD源文件、素材網站)

去年八月時要做一個OA系統為了后臺界面而煩惱&#xff0c;后來寫了一篇博客&#xff08;《后臺管理UI的選擇》&#xff09;介紹了選擇過程與常用后臺UI&#xff0c;令我想不到的時竟然有許多開發者與我一樣都為這個事情而花費不少時間&#xff0c;最后界面效果還是不佳&#xf…

分析拼多多的崛起【產品思維】

最近朋友圈討論拼多多上市的新聞大火&#xff0c;各有各的看法&#xff0c;很有意思&#xff0c;突然想起前段時間得到上的《梁寧-產品思維30講》&#xff0c;所以想從數據和產品角度分析分析拼多多的崛起。 一&#xff1a;拼多多的迅速崛起 我們先看看拼多多這幾年的成長歷程&…

62、滑動窗口的最大值

一、題目 給定一個數組和滑動窗口的大小&#xff0c;找出所有滑動窗口里數值的最大值。例如&#xff0c;如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3&#xff0c;那么一共存在6個滑動窗口&#xff0c;他們的最大值分別為{4,4,6,6,6,5}&#xff1b; 針對數組{2,3,4,2,6,2,5…

KestrelServer詳解[2]: 網絡連接是如何創建的?

《KestrelServer詳解[1]&#xff1a;注冊監聽終結點&#xff08;Endpoint&#xff09;》已經詳細講述了如何使用KestrelServer&#xff0c;現在我們來簡單聊聊這種服務器的總體設計和實現原理。當KestrelServer啟動的時候&#xff0c;注冊的每個終結點將轉換成對應的“連接監聽…

PHP操作文件和目錄的相關函數

//判斷文件類型 filetype(a.php);//打開或創建文件 fopen(a.php,w);//讀取文件 fgets(a.php);//按行讀取 fread(a.php,1049);//按塊讀取 file_get_contents(a.php);//讀取文件//復制文件 copy(a.php,./b.php);//將a.php復制到b.php//刪除文件 unlink(b.php);//移動文件 rename(…

linux LyX中文編輯環境安裝配置指南-TeX可視化工具

TeX可以說是國際上排版的標準&#xff0c;尤其是論文、書籍之類&#xff0c;對公式的表現比MS辦公系列強的太多&#xff0c;格式異常優美&#xff0c;但是由于其比較復雜的命令&#xff0c;非可視化編輯&#xff0c;所以使得入門門檻較高&#xff0c;所以出現了LaTeX這樣的命令…

pandas DataFrame 數據處理常用操作

Xgboost調參&#xff1a; https://wuhuhu800.github.io/2018/02/28/XGboost_param_share/ https://blog.csdn.net/hx2017/article/details/78064362 pandas DataFrame中的空值處理&#xff1a; https://blog.csdn.net/yuanxiang01/article/details/78738812 pandas的DataFrame、…

redis集群報Jedis does not support password protected Redis Cluster configurations異常解決辦法...

解決spring-data-redis操作redis集群報“Jedis does not support password protected Redis Cluster configurations”的異常 原因&#xff1a;使用spring-data-redis操作redis集群時由于redis集群設置了密碼。 解決方案&#xff1a;升級spring-data-redis版本即可解決&#xf…

支付寶支付開發流程

支付寶開發流程1、首先我們先談談第三方支付所謂第三方支付就是和一些各大銀行簽約&#xff0c;并具備一定實力和信譽保障的第三方獨立機構提供的交易平臺目前市面上常見的有支付寶&#xff0c;財付通&#xff0c;網銀&#xff0c;易寶支付等&#xff0c;網站需要實現第三方支付…

MQ消息隊列之MSMQ

主要參考文章&#xff1a; 消息隊列&#xff08;Message Queue&#xff09;簡介及其使用 轉載于:https://www.cnblogs.com/mailaidedt/p/6599130.html

css選擇器總結

一.選擇器 1. css1選擇器 2.css2選擇器 3.css3選擇器 4.:nth-of-type(n)和:nth-child(n)區別 (1).在不指定類型時&#xff0c;nth-child(n)選中的是父元素下的第N個子元素。nth-of-type(n)選中的是父元素下的不同類型標簽的第N個。(2).在指定具體元素時,ele:nth-child(n)要求不…

Hypercrx:開源項目不只有Star

01戰隊簡介大家好&#xff0c;我們是Hypercrx戰隊&#xff0c;非常榮幸獲得了首屆Microsoft Edge瀏覽器開拓者大賽的一等獎&#xff01;我是隊長唐燁男&#xff08;中&#xff09;&#xff0c;位于我左側的是寧志成&#xff0c;右側的是林以任&#xff0c;我們都來自華東師范大…

《Python編程快速上手 讓繁瑣工作自動化》pdf

<div id"article_content" class"article_content tracking-ad" data-mod"popu_307" data-dsm"post"> <p><br></p><p>下載地址&#xff1a;<a target"_blank" href"https://page74.c…

PHP上傳圖片到數據庫,并進行顯示

1、創建數據表 CREATE TABLE ccs_image (id int(4) unsigned NOT NULL auto_increment,description varchar(250) default NULL,bin_data longblob,filename varchar(50) default NULL,filesize varchar(50) default NULL,filetype varchar(50) default NULL,PRIMARY KEY (id)…

Keras版Faster-RCNN代碼學習(IOU,RPN)1

最近開始使用Keras來做深度學習&#xff0c;發現模型搭建相較于MXnet, Caffe等確實比較方便&#xff0c;適合于新手練手&#xff0c;于是找來了目標檢測經典的模型Faster-RCNN的keras代碼來練練手&#xff0c;代碼的主題部分轉自知乎專欄Learning Machine&#xff0c;作者張瀟捷…

歐拉函數模板

一、單個歐拉函數計算 可評測鏈接&#xff1a;http://codevs.cn/problem/4939/ 單個歐拉函數計算公式&#xff1a;φ&#xff08;n&#xff09;n*&#xff08;1-1/p1&#xff09;*&#xff08;1-1/p2&#xff09;*……*&#xff08;1-1/pn&#xff09; Step 1&#xff1a; 一邊…