phpMail上的ValidateAddress行为异常

phpMail上的ValidateAddress行为异常,php,phpmailer,Php,Phpmailer,我正在使用PHPMailer,$mail->Send()返回一个错误,我的问题是当我使用此电子邮件字符串时”noreply@pleasenoreply.com“在$mail->SetFrom()范围内,但另一方面,它几乎可以与任何其他电子邮件一起使用,例如”hello@hello.com“ 调试代码后,我发现问题出在函数ValidateAddress()上的class.phpmailer.php文件中。看来电子邮件"noreply@pleasenoreply.com“通过筛选器验证电子邮件或预匹

我正在使用PHPMailer,$mail->Send()返回一个错误,我的问题是当我使用此电子邮件字符串时”noreply@pleasenoreply.com“在$mail->SetFrom()范围内,但另一方面,它几乎可以与任何其他电子邮件一起使用,例如”hello@hello.com“

调试代码后,我发现问题出在函数ValidateAddress()上的class.phpmailer.php文件中。看来电子邮件"noreply@pleasenoreply.com“通过筛选器验证电子邮件或预匹配无效

PHPMailer-class.PHPMailer.php-第550行:

  public static function ValidateAddress($address) {
    if (function_exists('filter_var')) { //Introduced in PHP 5.2
      if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
        return false;
      } else {
        return true;
      }
    } else {
      return preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address);
    }
  }
为什么这是可能的??有人知道发生了什么吗???为什么要发送此电子邮件“noreply@pleasenoreply.com“不允许吗

我的问题是当我使用此电子邮件字符串时“noreply@pleasenoreply.com“在$mail->SetFrom()内”

我不知道为什么该特定地址会被拒绝,而其他地址不会被拒绝,但通常,您不仅需要指定一个有效的电子邮件地址作为发件人地址,还需要指定一个在发送邮件的邮件服务器上处理的地址

否则,要么发送服务器将拒绝发送,要么接收服务器很可能将消息作为垃圾邮件丢弃

通常的策略是指定
noreply@yourdomain.com
(yourdomain.com是您的网站域)。在某些服务器上,您需要实际设置该地址以允许从中发送邮件

我的问题是当我使用此电子邮件字符串时“noreply@pleasenoreply.com“在$mail->SetFrom()内”

我不知道为什么该特定地址会被拒绝,而其他地址不会被拒绝,但通常,您不仅需要指定一个有效的电子邮件地址作为发件人地址,还需要指定一个在发送邮件的邮件服务器上处理的地址

否则,要么发送服务器将拒绝发送,要么接收服务器很可能将消息作为垃圾邮件丢弃


通常的策略是指定
noreply@yourdomain.com
(yourdomain.com是您的网站域)。在某些服务器上,您需要实际设置该地址,以允许从该地址发送邮件。

请始终引用准确的错误消息。您是否检查了该代码的哪个分支失败?我无法在这么简单的电子邮件上看到筛选器,所以可能regex有问题。。。除非filter_var实际上正在pleasenoreply.com上进行DNS查找,但无法解决此问题。请始终引用准确的错误消息。您是否检查了该代码的哪个分支失败了?我无法在这么简单的电子邮件上看到筛选器,所以可能regex有问题。。。除非filter_var实际上正在pleasenoreply.com上进行DNS查找,这无法解决问题。