注:本文的郵件服務器只用于發送郵件,也就是STMP服務器。
一、準備工作
1. 為郵件服務器添加DNS解析
雖然不加DNS解析也能把郵件發出去,但會被大多數郵件服務器當作垃圾郵件。根據我們的實際經驗,需要添加三條DNS解析記錄:A記錄、MX記錄、TXT記錄。比如域名cnblogs.info,對應的DNS記錄如下:
2. 準備存放郵件的硬盤空間
如果用的是阿里云入門級Linux服務器,有一塊20G的數據盤未掛載,需要格式化并掛載(假設這里掛載的目錄是/data)。
二、配置postfix
postfix是CentOS默認安裝的郵件服務器軟件。以下配置示例假設要配置的域名是cnblogs.info,郵件服務器主機名是mail.cnblogs.info。
1. 打開postfix的配置文件
vi /etc/postfix/main.cf
2. :75 光標移至第75行,修改myhostname
myhostname = mail.cnblogs.info
3. :83 光標移至第83行,修改mydomain
mydomain = jb51.info
4. :99 光標移至第99行,修改myorigin
myorigin = $mydomain
5. :116光標移至第116行,修改inet_interfaces
inet_interfaces = all
6. :119光標移至第119行,修改inet_protocols
inet_protocols = ipv4
7. :164光標移至第164行,添加$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
8. :264光標移至第264行,修改mynetworks
mynetworks = 127.0.0.0/8
子網掩碼(netmask)轉換器:Network and IP address calculator
9. :419 光標移至第419行,設置home_mailbox
home_mailbox = Maildir/
10. :425 光標移至第425行,設置mail_spool_directory,/data是之前掛載的數據盤,mail目錄需要通過mkdir命令創建
mail_spool_directory = /data/mail
11. 重啟postfix使設置生效
service postfix restart
三、用telnet測試郵件服務器是否正常
1. 在郵件服務器上安裝telnet
yum install telnet
2. 連接服務器SMTP端口
telnet 127.0.0.1 25
3. 填寫發件人
MAIL FROM:[email protected]
回車
4. 填寫收件人
RCPT TO:[email protected]
回車
5. 撰寫郵件內容
5.1 開始寫郵件內容
DATA
回車
5.2 輸入標題
Subject: test message
回車
5.3 輸入內容,并以.號結束
test body.
如果顯示下面的信息,說明郵件進入發送隊列
250 2.0.0 Ok: queued as 88D6D32A94
四、授權其他服務器通過該郵件服務器發送郵件
未授權的情況下,如果在其他服務器telnet這臺服務器,在輸入收件人之后會出現Relay access denied錯誤
RCPT TO:[email protected] 5.7.1 <[email protected]>: Relay access denied
解決方法:
vi /etc/postfix/main.cf,:264將光標移至第264行,在mynetworks的值之后加這臺的服務器IP地址,比如:
mynetworks = 127.0.0.0/8 58.33.14.124
service postfix restart之后,問題解決。
五、其他問題
收到上面telnet發出的郵件時,你會發現收件人信息顯示的是undisclosed recipients,解決方法是在DATA命令之后,輸入Subject之前,分別輸入:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
|
新聞熱點
疑難解答