| Help with email validation code
|
leafgreen

msg:3548990 | 7:50 pm on Jan 15, 2008 (gmt 0) | What's the purpose of the part with "example.com"? Is it to make an exception for email addresses ending with example.com? If so, how can I excise this part only, keeping the rest of the script functional? TIA! [fixed] function ValidateMail($Email) { global $HTTP_HOST; $result = array(); if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $Email)) { $result[0]=false; $result[1]="$Email is not properly formatted"; return $result; } list ( $Username, $Domain ) = split ("@",$Email); if($Email!="[b]example.com[/b]") { $result[0]=true; $result[1]="$Email appears to be valid."; return $result; } else { if (getmxrr($Domain, $MXHost)) { $ConnectAddress = $MXHost[0]; } else { $ConnectAddress = $Domain; } $Connect = fsockopen ( $ConnectAddress, 25 ); if ($Connect) { if (ereg("^220", $Out = fgets($Connect, 1024))) { fputs ($Connect, "HELO $HTTP_HOST\r\n"); $Out = fgets ( $Connect, 1024 ); fputs ($Connect, "MAIL FROM: <{$Email}>\r\n"); $From = fgets ( $Connect, 1024 ); fputs ($Connect, "RCPT TO: <{$Email}>\r\n"); $To = fgets ($Connect, 1024); fputs ($Connect, "QUIT\r\n"); fclose($Connect); if (!ereg ("^250", $From) ¦¦ !ereg ( "^250", $To )) { $result[0]=false; $result[1]="Server rejected address."; return $result; } } else { $result[0] = false; $result[1] = "No response from server."; return $result; } } else { $result[0]=false; $result[1]="Sorry, but for some reason we cannot connect to your email server."; return $result; } $result[0]=true; $result[1]="$Email appears to be valid."; return $result; } } ?> [/fixed] [edited by: coopster at 12:54 am (utc) on Jan. 16, 2008] [edited by: eelixduppy at 1:41 pm (utc) on Jan. 17, 2008] [edit reason] generalized domain [/edit]
|
|