字符編碼害死人

 今天做郵件服務器,用到smtp加密,裏邊有這樣的配置。

  1. smtpd_sasl_auth_enable = yes  
  2. smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination  
  3. broken_sasl_auth_clients=yes  
  4. smtpd_client_restrictions=permit_sasl_authenticated  
  5. smtpd_sasl_security_options = noanonymous 

配置的時候我是直接粘貼以前寫的word文檔裏的內容,加密配置之後,用telnet 去連接本地25端口。

連接之後再去匿名發送郵件會出現這樣的信息:

  1. [admin@localhost~]$ telnet 127.0.0.1 25 
  2.  
  3. Trying 127.0.0.1... 
  4.  
  5. Connected to localhost.localdomain (127.0.0.1). 
  6.  
  7. Escape character is '^]'. 
  8.  
  9. 220 mail.mymail.com ESMTP Postfix 
  10.  
  11. mail from ^H 
  12.  
  13. 501 5.5.4 Syntax: MAIL FROM:<address> 
  14.  
  15. mail from: [email protected] 
  16.  
  17. 250 2.1.0 Ok 
  18.  
  19. rcpt to: ********@qq.com 
  20.  
  21. 554 5.7.1 <*********@qq.com>: Relay access denied 

這樣就證明匿名用戶連接我的郵件服務器被拒絕了。但是我做個加密之後還是一直出現ok。

我用diff校驗以前的配置文件和現在的配置文件,發現上邊配置的幾行老是出現不一樣,我使勁看,還是一樣。弄了一整天啊,最後發現是字符編碼的問題,我直接粘貼的word文檔的內容。word真是坑爹啊。把這些配置粘貼到文本文檔之後再服務器上貼就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章