我的系統是centos7.5(7以上的應該都適用、這裏再補充下,線上服務器的話要開能25端口可能要申請)
—1—設置域名、主機名、開雲上服務器25端口
-A- 域名或自建DNS照下面方式設置即可
-B- 修改主機名和設置本地hosts文件地址
[root@mail ~]# hostnamectl set-hostname mail.ald8.cn
[root@mail ~]# cat /etc/hostname
mail.ald8.cn
[root@mail ~]# hostnamectl set-hostname mail.ald8.cn
[root@mail ~]# cat /etc/hostname
mail.ald8.cn
-C-改25端口(要確保你服務器上的110、143、25的端口是對外開放的)
- 也可以採用多端口方式來防止上面端口的不可用 , 配置方法查後最後面(修改端口)部分
我這裏的是騰訊雲服務器,110、143已開啓,但25這個端口在騰訊雲上要申請才能開通的。如下圖方式
—2—安裝軟件,配置基本收發信功能
-A- 安裝軟件
[root@mail ~]# yum -y install postfix.x86_64 dovecot.x86_64 cyrus-sasl
[root@mail ~]# postconf –a //驗證是否支持cyrus dovecot功能
cyrus
dovecot
(postfix主要是爲發件服務25,devocot爲收件服務110、145, cyrus-sasl登陸驗證服務)
若啓動失敗,繼續後面步驟修改配置文件
報錯:systemctl status postfix:no SASL authentication mechanisms
yum install cyrus-sasl-plain
-B-修改postfix主配置文件,啓動服務
[root@mail ~]# vim /etc/postfix/main.cf
#修改以下配置
myhostname = mail.ald8.cn //郵件服務器的主機名
mydomain = ald8.cn //郵件域
myorigin = $mydomain //往外發郵件的郵件域
inet_interfaces = all //監聽的網卡
inet_protocols = all
mydestination = $myhostname, $mydomain //服務的對象
home_mailbox = Maildir/ //郵件存放的目錄
#新添加以下配置
#--------自定義(下面可以複製粘貼到文件最後面,用於設置服務器驗爲主等)
# 規定郵件最大尺寸爲10M
message_size_limit = 10485760
# 規定收件箱最大容量爲1G
mailbox_size_limit = 1073741824
# SMTP認證
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
mynetworks = 127.0.0.0/8
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
[root@mail ~]# postfix check //修改保存後檢查配置文件是否有錯
[root@mail ~]# systemctl restart postfix.service
[root@mail ~]# systemctl enable postfix.service
--配置補充說明--
smtpd_sasl_auth_enable = yes //開啓認證
smtpd_sasl_security_options = noanonymous //不允許匿名發信
mynetworks = 127.0.0.0/8 //允許的網段,如果增加本機所在網段就會出現允許不驗證也能向外域發信
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
//允許本地域以及認證成功的發信,拒絕認證失敗的發信
-C-修改dovecot主配置文件,啓動服務
[root@mail ~]# vim /etc/dovecot/dovecot.conf
#修改以下配置
protocols = imap pop3 lmtp
listen = *, ::
!include conf.d/10-auth.conf
#在最後面新添加以下配置
#-----------自定義------------
ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
[root@mail ~]# systemctl restart dovecot.service
[root@mail ~]# systemctl enable dovecot.service
-D-修改 cyrus-sasl主配置文件
[root@mail ~]# vim /etc/sasl2/smtpd.conf //這個是空文件,直接添加下面配置(配置認證方式)
pwcheck_method: saslauthd
mech_list: plain login
log_level:3
[root@mail ~]# vim /etc/sysconfig/saslauthd //修改下面配置項(本地用戶認證)
MECH=shadow
[root@mail ~]# systemctl restart saslauthd.service
[root@mail ~]# systemctl enable saslauthd.service
—3— 創建用戶,安裝telnet進行郵件收發 或使用linux mailx軟件測試
[root@mail ~]# yum -y install telnet-server.x86_64 telnet.x86_64
[root@mail ~]# useradd lcf -s /sbin/nologin
[root@mail ~]# useradd zjc -s /sbin/nologin
[root@mail ~]# echo '123123' | passwd --stdin lcf
[root@mail ~]# echo '123123' | passwd --stdin zjc
(1) 使用telnet測試
-A-發送本地郵件測試
--------------連接服務器的25端口進行簡單發信測試-----------
[root@mail ~]# telnet mail.ald8.cn 25
//連接成功,開始寫信
helo mail.ald8.cn //聲明本機的主機
mail from:[email protected] //聲明發件人地址
rcpt to:[email protected] //聲明收件人地址
data //寫正文
HI. This is Z.jc,Nice Good day!
. //記住這裏是以點作爲正文結束標記
quit // 退出
如圖所示:
到這裏信件就已經發送了,接下來是驗證了。
-B-收取郵件驗證
---------------收信驗證---------------
[root@localhost ~]# telnet mail.aa.com 110
user lcf //收件人登錄
pass 123 //郵箱密碼
list //列表查看郵件
retr 1 //讀取編號爲1的郵件
quit //退出郵箱
如圖所示:
查看到了發送的內容,那這裏就算是收件成功了
(2) 安裝mailx來測試
-A-發送郵件到其它郵箱服務器
這裏用mailx這個軟件來測試發送
# yum -y install mailx
[root@mail ~]# su - zjc
Last login: Sat Oct 20 16:20:01 CST 2018 from 193.112.217.131 on pts/2
[zjc@mail ~]$ echo '這是測試' | mail -s '你好,164' [email protected]
再登陸到163郵箱查看是否收到郵件
妥妥的收到了郵件
到裏郵箱的收發功能就都具備了。
—4— 調用郵箱(也就是調用這個服務器的smtp.pop3)
我這裏用windows的163郵件代理接收發送客戶端作演示
下載地址:http://mail.163.com/dashi/index.html (支持多個不同賬戶的郵箱接收和發送郵件,支持建用戶組羣發)
下載安裝後,用linux創建好的用戶名和密碼和爲登陸和服務器設置
我這是登陸設置好的了,收信和發信賬號及密碼就是在linux系統那裏創建的賬號和對應的密碼。
設置驗證成功後就可以暢發郵件了,記得別亂發垃圾郵件哦!
然後這裏再貼上zabbix調用方式圖
安全鏈接選“無”,認證選第二個,這裏賬號就是lcf,不像163那樣賬號名是完整郵件地址。密碼是linux裏設置lcf的那個密碼。
---修改端口
有的時候SMTP的默認25端口不能用會導致無法使用郵箱功能,解決辦法就是添加多端口。
1、修改postfix的配置文件
vim /etc/postfix/master.cf
在已有第一行:
smtp inet n - n - - smtpd
之後添加:
smtp2 inet n - n - - smtpd
2、修改/etc/services文件,增加smtp2監聽端口,本文以2525端口爲例
vim /etc/services
找到:
smtp 25/tcp mail
其後添加:
smtp2 2525/tcp mail2
smtp2 2525/udp mail2
3、重啓postfix
service postfix restart