linux centos7 完整郵件服務器搭建及調用_2018_lcf


我的系統是centos7.5(7以上的應該都適用、這里再補充下,線上服務器的話要開能25端口可能要申請)

—1—設置域名、主機名、開雲上服務器25端口

-A- 域名或自建DNS照下面方式設置即可

 -B- 修改主機名和設置本地hosts文件地址 

  1.  
    [root@mail ~] # hostnamectl set-hostname mail.ald8.cn
  2.  
    [root@mail ~] # cat /etc/hostname
  3.  
    mail.ald8.cn
  4.  
     
  5.  
    [root@mail ~] # vim /etc/hosts //添加下面一行
  6.  
    127.0.0.1 mail.ald8.cn

  -C-改25端口(要確保你服務器上的110、143、25的端口是對外開放的)

- 也可以采用多端口方式來防止上面端口的不可用 , 配置方法查后最后面(修改端口)部分

我這里的是騰訊雲服務器,110、143已開啟,但25這個端口在騰訊雲上要申請才能開通的。如下圖方式

—2—安裝軟件,配置基本收發信功能

-A- 安裝軟件

  1.  
    [root@mail ~] # yum -y install postfix.x86_64 dovecot.x86_64 cyrus-sasl
  2.  
     
  3.  
    [root@mail ~] # postconf –a        //驗證是否支持cyrus dovecot功能
  4.  
     
  5.  
    cyrus
  6.  
    dovecot
  7.  
     
  8.  
    (postfix主要是為發件服務 25,devocot為收件服務110、145, cyrus-sasl登陸驗證服務)

-B-修改postfix主配置文件,啟動服務

  1.  
    [root@mail ~]# vim /etc/postfix/main.cf
  2.  
    #修改以下配置
  3.  
    myhostname = mail.ald8.cn //郵件服務器的主機名
  4.  
    mydomain = ald8.cn //郵件域
  5.  
    myorigin = $mydomain //往外發郵件的郵件域
  6.  
    inet_interfaces = all //監聽的網卡
  7.  
    inet_protocols = all
  8.  
    mydestination = $myhostname, $mydomain //服務的對象
  9.  
    home_mailbox = Maildir/ //郵件存放的目錄
  10.  
     
  11.  
    #新添加以下配置
  12.  
    #--------自定義(下面可以復制粘貼到文件最后面,用於設置服務器驗為主等)
  13.  
     
  14.  
    # 規定郵件最大尺寸為10M
  15.  
    message_size_limit = 10485760
  16.  
    # 規定收件箱最大容量為1G
  17.  
    mailbox_size_limit = 1073741824
  18.  
    # SMTP認證
  19.  
    smtpd_sasl_auth_enable = yes
  20.  
    smtpd_sasl_security_options = noanonymous
  21.  
    mynetworks = 127.0.0.0/8
  22.  
    smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
  23.  
     
  24.  
    [root@mail ~]# postfix check //修改保存后檢查配置文件是否有錯
  25.  
    [root@mail ~]# systemctl restart postfix.service
  26.  
    [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主配置文件,啟動服務

  1.  
    [root@mail ~] # vim /etc/dovecot/dovecot.conf
  2.  
    #修改以下配置
  3.  
    protocols = imap pop3 lmtp
  4.  
    listen = *, ::
  5.  
    ! include conf.d/10-auth.conf
  6.  
     
  7.  
    #在最后面新添加以下配置
  8.  
    #-----------自定義------------
  9.  
    ssl = no
  10.  
    disable_plaintext_auth = no
  11.  
    mail_location = maildir:~/Maildir
  12.  
     
  13.  
    [root@mail ~] # systemctl restart dovecot.service
  14.  
    [root@mail ~] # systemctl enable dovecot.service
  15.  
     

-D-修改 cyrus-sasl主配置文件

  1.  
    [root@mail ~] # vim /etc/sasl2/smtpd.conf //這個是空文件,直接添加下面配置(配置認證方式)
  2.  
    pwcheck_method: saslauthd
  3.  
    mech_list: plain login
  4.  
    log_level:3
  5.  
     
  6.  
     
  7.  
    [root@mail ~] # vim /etc/sysconfig/saslauthd //修改下面配置項(本地用戶認證)
  8.  
    MECH=shadow
  9.  
     
  10.  
    [root@mail ~] # systemctl restart saslauthd.service
  11.  
    [root@mail ~] # systemctl enable saslauthd.service

 

—3— 創建用戶,安裝telnet進行郵件收發 或使用linux mailx軟件測試

  1.  
    [root@mail ~] # yum -y install telnet-server.x86_64 telnet.x86_64
  2.  
    [root@mail ~] # useradd lcf -s /sbin/nologin
  3.  
    [root@mail ~] # useradd zjc -s /sbin/nologin
  4.  
    [root@mail ~] # echo '123123' | passwd --stdin lcf
  5.  
    [root@mail ~] # echo '123123' | passwd --stdin zjc

(1) 使用telnet測試

-A-發送本地郵件測試

--------------連接服務器的25端口進行簡單發信測試-----------
[root@mail ~]# telnet mail.ald8.cn 25
//連接成功,開始寫信
helo mail.ald8.cn                //聲明本機的主機
mail from:lcf@ald8.cn     //聲明發件人地址
rcpt to:ald8cn@163.com       //聲明收件人地址
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

  1.  
    [ root@mail ~]# su - zjc
  2.  
    Last login: Sat Oct 20 16:20:01 CST 2018 from 193.112.217.131 on pts/2
  3.  
    [ zjc@mail ~]$ echo '這是測試' | mail -s '你好,164' ald8cn@163.com

再登陸到163郵箱查看是否收到郵件

妥妥的收到了郵件

 到里郵箱的收發功能就都具備了。

—4— 調用郵箱(也就是調用這個服務器的smtp.pop3)

我這里用windows的163郵件代理接收發送客戶端作演示

下載地址:http://mail.163.com/dashi/index.html     (支持多個不同賬戶的郵箱接收和發送郵件,支持建用戶組群發)

下載安裝后,用linux創建好的用戶名和密碼和為登陸和服務器設置

 我這是登陸設置好的了,收信和發信賬號及密碼就是在linux系統那里創建的賬號和對應的密碼。

設置驗證成功后就可以暢發郵件了,記得別亂發垃圾郵件哦!

然后這里再貼上zabbix調用方式圖

安全鏈接選“無”,認證選第二個,這里賬號就是lcf,不像163那樣賬號名是完整郵件地址。密碼是linux里設置lcf的那個密碼。 

---修改端口
 

  1.  
    有的時候SMTP的默認25端口不能用會導致無法使用郵箱功能,解決辦法就是添加多端口。
  2.  
     
  3.  
    1、修改postfix的配置文件
  4.  
     
  5.  
    vim /etc/postfix/master.cf
  6.  
     
  7.  
    在已有第一行:
  8.  
     
  9.  
    smtp      inet  n       -       n       -       -     smtpd
  10.  
     
  11.  
    之后添加:
  12.  
     
  13.  
    smtp2      inet  n       -       n       -       -     smtpd
  14.  
     
  15.  
    2、修改/etc/services文件,增加smtp2監聽端口,本文以2525端口為例
  16.  
    vim /etc/services
  17.  
     
  18.  
    找到:
  19.  
     
  20.  
    smtp            25/tcp          mail
  21.  
     
  22.  
    其后添加:
  23.  
     
  24.  
    smtp2           2525/tcp        mail2
  25.  
     
  26.  
    smtp2           2525/udp        mail2
  27.  
     
  28.  
    3、重啟postfix
  29.  
     
  30.  
    service postfix restart

 

----轉自https://blog.csdn.net/cbuy888/article/details/83212810

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM