验证email邮箱地址域名的MX记录 减轻postfix发送超时负担

 


      验证邮件地址大多数采用正则表达式来测试用户所填写的格式是否正确。例如asdf@1661.com  [email protected]  正则表达式无法验证出这个邮件地址是非法的。

但是查询这两个邮件域名(1661.com 和qqqq.com)MX记录会发现他们是不存在的。所以这两个邮件地址是不合法的。

      然后过了一段时间需要给这些注册用户发送活动推广的邮件。发送一封错误地址的邮件是非常耗费资源,比发送一封正确的邮件要耗费很多倍的资源。你可以尝试着用自己的qq邮箱给一个错误邮件地址发封邮件。过了一天,会收到qq邮箱发过来一份报告。大致内容说“这封邮件我们已经尝试发送了24个小时”。发送一封正常的邮箱可能只需要一两秒钟。而这些错误邮件耗费了24小时的资源。当然qq邮箱为了保证邮件发送的到达率会对错误邮件地址不断的重新发送。而对于一台普通的postfixsendmail邮件服务器来说,错误邮件需要耗费的资源也比正常邮件的资源大的多。如果postfix设置邮件的超时时间为40秒,那么这封邮箱就需要耗费postfix服务器40秒的时候,如果存在大量的这类错误邮件,就会造成postfix邮件队列阻塞。从而导致正常的邮件不能按时到达。

      所以验证用户提供的email地址域名的MX记录是非常重要的。Windows提供了nslookup命令 linux提供了host –t命令来查询 当然一些编程语言可能会将这些封装在库函数中。例如php就提供了checkdnsrr函数能非常方便的查询域名的MX记录。

你可能感兴趣的:(email,mx)