1. 程式人生 > >Linux系統下郵件伺服器的搭建(Postfix+Dovecot)

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

對於網站來說,傳送各種例如註冊通知的郵件是很基本的一個需求,之前我一直用的是騰訊的企業郵箱,感覺挺方便的,直接可以繫結QQ郵箱接收郵件,網站配置一下SMTP也就可以發出郵件。

但是在前幾天由於有重要資訊需要立即通知使用者,所以選擇了群發郵件的方式。在當我以為一切都是辣麼完美的時候,陸續有使用者過來問我什麼情況,我都會跟他們說請查收郵件,但是有好幾個人說並沒有任何郵件,於是我試著再發一次,結果返回了錯誤提示。在網上找了下原因,後來看到這個:各大免費郵箱郵件群發賬戶SMTP伺服器配置及SMTP傳送量限制情況,才知道是因為發信數量限制了。

所以只好另尋出路了,然後我在知乎上面找到了很多個提供郵件傳送的服務商,大概有這些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建議之後,我選擇了Mailgun。

Mailgun註冊和配置都挺簡單,很快我就成功的發出了第一封郵件,懷著這封欣喜,我又傳送了幾封郵件,可是悲劇發生在第三封郵件,Mailgun後臺有詳細的傳送記錄,這個非常不錯,在後臺我看到我的郵件被拒收了,原因大概是該伺服器IP的發信頻率超過騰訊郵箱限制。所以這裡就涉及到IP的問題,目前第三方的郵件傳送服務普遍都是共享IP(後面還試過SendCloud、),而共享IP並不能確定是否已經達到接收方的數量限制,一旦達到了就無法再發送。這就是說還需要使用獨立IP才能保證郵件有較高的到達率,接著就看了各家的獨立IP價格,一般都是二十幾甚至四十幾美刀一個月,這對於我們這種小站長郵件需求不高的來說確實有點貴,買臺VPS都不用這個價吧。

經過上面這些折騰,也算明白瞭如果要想順暢的發出郵件的話,除了花錢,就只有自己搭建一個郵件伺服器了。

好了,下面開始進入正題,教你搭建一個簡單的郵件伺服器。

用於搭建的伺服器資訊

阿里雲 Centos 6.5 32位

安裝過程

1.安裝Postfix

yum -y install postfix

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

rpm -e sendmail
或者
yum remove sendmail

修改MTA(預設郵件傳輸代理)

alternatives --config mta

然後直接回車即可。

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

alternatives --display mta

第一行可以看到mta的狀態。 例如:mat - status is manual.

2.安裝Dovecot

yum -y install dovecot

3.配置Postfix

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

vi /etc/postfix/main.cf

修改如下:

# 75行: 取消註釋,設定hostname
myhostname = mail.lomu.me
# 83行: 取消註釋,設定域名
mydomain = lomu.me
# 99行: 取消註釋
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推薦ipv4,如果支援ipv6,則可以為all
inet_protocols = ipv4
# 164行: 新增
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消註釋,指定內網和本地的IP地址範圍
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消註釋,郵件儲存目錄
home_mailbox = Maildir/
# 571行: 新增
smtpd_banner = $myhostname ESMTP

# 新增到最後
# 規定郵件最大尺寸為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

修改好了之後使用/etc/rc.d/init.d/postfix start開啟postfix,使用chkconfig postfix on將postfix開機啟動。

myhostname = mail.xxxxx.com
mydomain = xxxxx.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname,$mydomain #[email protected]xxxxx.com
#mydestination = $myhostname localhost.$mydomain localhost $mydomain
mynetworks = 127.0.0.0/8, 10.0.0.0/24
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP
message_size_limit = 10485760
mailbox_size_limit = 1073741824
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

4.配置Dovecot

修改如下:

[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,請修改為*
listen = *

[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消註釋並修改
disable_plaintext_auth = no
# 97行: 新增
auth_mechanisms = plain login

[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消註釋並新增
mail_location = maildir:~/Maildir

[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消註釋並新增
# Postfix smtp驗證
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
}

[root@mail ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap:     [ OK ]

[root@mail ~]# chkconfig dovecot on 

到這裡,我們的郵件伺服器就已經搭建成功了。

5.域名解析

最後別忘了還需要進行域名解析工作。

新增一個子域名mail,A記錄解析到伺服器IP。

再新增一個MX記錄,主機記錄為空,記錄值為上面解析的二級域名mail.lomu.me,優先順序10。

注意:解析生效可能需要一段時間。

6.郵箱使用

一切都弄好以後,就可以使用Foxmail等第三方軟體來收發郵件了。在這裡需要說一下,系統使用者就是郵件的使用者,例如root,就是一個郵箱使用者,郵箱是[email protected],密碼就是root的密碼,所以需要建立使用者,只要使用useradd建立使用者,再使用passwd設定密碼。

好了,假如我們建立一個admin的使用者:

# 建立使用者
useradd admin
#設定密碼,會要求輸入兩次密碼
passwd admin

域名解析設定:

1,主機名 @  型別A  ip xx.xx.xx.xx

2,主機名 mail 型別 A

3,主機名 mail 型別 mx

轉載:https://www.cnblogs.com/hgj123/p/6186400.html

# 建立使用者useradd admin#設定密碼,會要求輸入兩次密碼passwd admin

相關推薦

郵件伺服器搭建postfix+dovecot+foxmail

一、安裝postfix 系統裡一般會有,不用安裝 沒有的(yum install -y postfix) 檢視安裝版本 postconf -d | grep mail_version 二、修改配置檔案 配置檔案 (安裝vim命令不安裝可以使用的vi

Linux系統郵件伺服器搭建Postfix+Dovecot

對於網站來說,傳送各種例如註冊通知的郵件是很基本的一個需求,之前我一直用的是騰訊的企業郵箱,感覺挺方便的,直接可以繫結QQ郵箱接收郵件,網站配置一下SMTP也就可以發出郵件。但是在前幾天由於有重要資訊需要立即通知使用者,所以選擇了群發郵件的方式。在當我以為一切都是辣麼完美的時

LINUX郵件伺服器搭建SENDMAIL1.0

小編就喜歡直接寫步驟,相關概念以後完善的時候再寫。OK,就直接開始sendmail郵件伺服器的搭建。第一步還是看sendmail服務裝了沒有,執行下圖命令如果沒有安裝,還是用介面化的點點點吧,這種方式小編比較喜歡(這裡省去掛載光碟步驟,小編在以前也說過步驟)如果沒有安裝,就直

Centos6.5搭建郵件服務器Postfix+Dovecot

Linux Centos6.5 Postfix Dovecot 參考博文:http://blog.jjonline.cn/linux/185.html http://blog.51cto.com/11038104/1916669第一步、關閉iptables、selinux /et

linux系統pk10網站搭建詳解

用戶 rhel6 增加 添加 上下 ORC security 一行 .sh 一.設置pk10網站搭建(企 娥:217 1793 408)系統root用戶下 #vi /etc/redhat-release //操作系統,系統只支持Red Hat Enterprise Linu

Redhat配置郵件伺服器postfix+dovecot

本實驗在redhat虛擬機器中實現:(虛擬機器通過橋接方式連線PC) PC IP:192.168.0.102  閘道器:192.168.0.1(路由器)DNS:192.168.0.1 Redhat IP:192.168.0.105  閘道器:192.168.0.1(路由器

Linux系統svn伺服器的安裝與連線

安裝步驟如下: 1、yum install subversion 2、輸入rpm -ql subversion檢視安裝位置,如下圖: 可以看到 svn在bin目錄下生成了幾個二進位制檔案。 再輸入/usr/bin/svnversion --version 就可以檢視svn的

Ubuntu系統ntp伺服器搭建

本文講講搭建一個ntp伺服器。 下面的操作基於ubuntu14.04版本。 安裝步驟 在ubuntu下安裝ntp伺服器十分方便,只要一條命令即可搞定: sudo apt-get install ntp 一:在配置檔案中的:   restrict -6 defa

WindowsTensorFlow環境搭建無GPU以及windows及linux環境永久修改pip映象源的方法

Windows下TensorFlow環境搭建(無GPU):https://blog.csdn.net/yingyueer247/article/details/76460987 windows及linux環境下永久修改pip映象源的方法:http://www.jb51.net/article/98

Linux系統新增防火牆規則新增IP白名單

參考文件:防火牆的作用:    可以通過設定ip白名單/黑名單的方式限制外部ip的訪問或者限制訪問內部某個埠;新增防火牆過濾規則步驟如下;1、檢視現有防火牆過濾規則:    iptables -nvL --line-number2、新增防火牆過濾規則(設定白名單):     

WIN7訪問Linux系統Samba伺服器不穩定的解決方法

最近由於需要做web開發的工作,所以在win7系統中安裝了vmware虛擬機器,然後安裝了Linux系統。習慣了在win7 下使用pycharm 開發flask應用,然後在ubuntu下測試,所以考慮在Ubuntu下搭建Samba伺服器來實現win7 和Ubun

Linux extmail的郵件伺服器搭建

# 安裝 # 3.1本地YUM源 # 3.1.1 ISO源 # 準備rpm包 # 掛載CentOS-7-x86_64-Everything-1511.iso,把裡面所有檔案都拷貝到本地目錄/yum/yum-iso [[email protected] ~]# mkdir /mnt/yum

Linux系統修改ftp伺服器時區解決相差八小時的的問題

點評:美國的vps大多都是國外的時間,讓我們的程式總是不適應。那麼如何調整linux的時間為北京時間?修改linux vps的時間和時區,有什麼辦法?第一步,校正VPS時區設定:首先,需要ssh登入vps或伺服器:date 可以檢視時間和時區。然後:rm -rf /etc/localtimeln -s /us

Linux系統-程序間通訊訊息佇列-詳解

Linux下程序間通訊方式: # 管道( pipe ):管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。 # 有名管道 (named pipe) : 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序

Linux系統檢視伺服器CPU資訊

首先推薦一篇文章超執行緒、多核知識實戰,5分鐘讓你成為CPU專家,非常好的一篇文章,解釋超執行緒的含義,對CPU的結構也可以有一個巨集觀的理解。 1 檢視物理CPU的個數 cat /pr

LINUX系統安裝郵件伺服器

在Ubuntu 16.04 LTS上安裝Postfix郵件系統,配置傳送郵件伺服器。 介紹 我有一臺Ubuntu伺服器,上面運行了若干應用。我希望某個應用崩潰或出問題的時候,系統後臺自動把故障資訊發到我的郵箱。這樣,免去了我遠端登入伺服器,檢視執行故障日誌的煩惱。此處僅需

用C語言在Linux系統建立守護程序Daemon

      守護程序(daemon)是指在後臺執行的,沒有控制終端與之相連的程序。它獨立於控制終端,週期性地執行某種任務。Linux的大多數伺服器就是用守護程序的方式實現的。如web伺服器程序http等。守護程序在後臺執行,類似於Windows中的系統服務。      

Linux系統Qmail郵件伺服器

Qmail郵件伺服器安裝過程- checkpassword-0.90(pop3驗證使用者程式) cmd5checkpw-0.22.tar.gz ucspi-tcp-0.88(tcpserver等服務程式) qmail-smtpd-auth-0.30.tar.gz(smtp補丁程式) qmail-1.03.t

CentOS系統Gerrit伺服器搭建

Gerrit伺服器搭建 前言: 從來沒有搭建過伺服器,花了兩天時間研究,出現了很多問題,摸爬滾打,終於能成功登入了。下面我來講解一下在CentOS系統下搭建Gerrit。 準備材料: gerrit.war、JDK和一臺裝有CentOS系統的電腦。

Linux系統配置伺服器執行環境

RT. 以前伺服器端是使用phpnow套件。 今天嘗試在ubuntu下獨立完成apache2+php+mysql的伺服器執行環境。 具體的步驟如下(下面的操作都需要使用root許可權): |.Apache2安裝 sudo apt-get install apache2安裝的