字符编码害死人

 今天做邮件服务器,用到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真是坑爹啊。把这些配置粘贴到文本文档之后再服务器上贴就可以了。

你可能感兴趣的:(postfix,sasl)