确定电子邮件在PHP中是否有效

时间:2016-08-22 22:57:50

标签: php email

我不时被Hotmail服务器阻止。

据我所知,原因是我的服务器正在为不存在的用户发送邮件。

Hotmail似乎将这些尝试解释为“如果用户不存在而您尝试邮寄它,则可能是垃圾邮件发送者”。

由于我的数据库有点旧(有大约7年前的记录),有些电子邮件确实不再存在 - 以及一些邮件服务器。

两种情形:糟糕的用户输入和不存在的电子邮件

  1. BAD USER INPUT
  2. John的电子邮件是johndoe@hotmail.com

    但他将其输入为:

    约翰的 DEO @ hotmail.com

    输入johndoe @的 ohtmail .COM

    显然,它无法传递,Hotmail可能将这些尝试解释为电子邮件挖掘。

    1. INEXISTENT EMAIL
    2. Hotmail邮件帐户在一段时间*不活动后被删除。那说,显然,我不能邮寄它们。

      当用户尝试在我的服务器上恢复其帐户时,可能会发生他用于注册的电子邮件未被他使用且不再存在的情况。 我无法知道或控制它,然后无论如何都会发送帐户恢复电子邮件。 同样,Hotmail可能将其解释为电子邮件挖掘,因为最佳实践确定“应该知道他的接收者的正确和更新的电子邮件”。

      *本文的365天:my hotmail has been deleted

      如果存在电子邮件,我如何找到?

      如何在事先向我发送邮件的情况下找到电子邮件?

      当用户点击“忘记密码”链接并输入他的电子邮件时,我可以采取哪些PHP措施让他知道他输入了一封不存在的电子邮件?

1 个答案:

答案 0 :(得分:0)

要验证PHP中电子邮件的格式,请使用filter_var()

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    ...
}

- http://php.net/manual/en/filter.examples.validation.php

验证电子邮件地址是否存在且可以接收电子邮件的唯一方法是向该地址发送电子邮件并接收某种响应,包括回复,退回邮件或从电子邮件中点击的链接。