BLACKSITE
:
3.131.13.149
:
103.154.184.216 / www.astitvaad.com
:
Linux vps.readyhost.in 4.18.0-553.6.1.el8.x86_64 #1 SMP Thu May 30 04:13:58 UTC 2024 x86_64
:
/
bin
/
Upload File:
files >> //bin/validate_outgoing_emailid.php
<?php function validate_email($email) { $mailparts=explode("@",$email); $hostname = $mailparts[1]; // validate email address syntax $exp = "/^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$/"; $b_valid_syntax=preg_match($exp, $email); // get mx addresses by getmxrr $b_mx_avail=getmxrr( $hostname, $mx_records, $mx_weight ); $b_server_found=0; if($b_valid_syntax && $b_mx_avail) { // copy mx records and weight into array $mxs $mxs=array(); for($i=0;$i<count($mx_records);$i++) { $em1 = array_pop($mx_weight); $em2 = array_pop($mx_records); $mxs[$em1]=$em2; } // sort array mxs to get servers with highest prio ksort ($mxs, SORT_NUMERIC ); reset ($mxs); while (list ($mx_weight, $mx_host) = each ($mxs) ) { if($b_server_found == 0) { //try connection on port 25 $fp = @fsockopen($mx_host,25, $errno, $errstr, 2); if($fp) { $ms_resp=""; // say HELO to mailserver $ms_resp.=send_command($fp, "HELO hostingraja.in"); // initialize sending mail $ms_resp.=send_command($fp, "MAIL FROM: <support@hostingraja.in>"); // try receipent address, will return 250 when ok.. $rcpt_text=send_command($fp, "RCPT TO:<".$email.">"); $ms_resp.=$rcpt_text; if(substr( $rcpt_text, 0, 3) == "250") $b_server_found=1; // quit mail server connection $ms_resp.=send_command($fp, "QUIT"); fclose($fp); } } } } return $b_server_found; } function send_command($fp, $out) { fwrite($fp, $out . "\r\n"); return get_data($fp); } function get_data($fp) { $s=""; stream_set_timeout($fp, 2); for($i=0;$i<2;$i++) $s.=fgets($fp, 1024); return $s; } // support windows platforms if (!function_exists ('getmxrr') ) { function getmxrr($hostname, &$mxhosts, &$mxweight) { if (!is_array ($mxhosts) ) { $mxhosts = array (); } if (!empty ($hostname) ) { $output = ""; @exec ("nslookup.exe -type=MX $hostname.", $output); $imx=-1; foreach ($output as $line) { $imx++; $parts = ""; if (preg_match ("/^$hostname\tMX preference = ([0-9]+), mail exchanger = (.*)$/", $line, $parts) ) { $mxweight[$imx] = $parts[1]; $mxhosts[$imx] = $parts[2]; } } return ($imx!=-1); } return false; } } $email = $argv[1]; if(validate_email($email) == 0) { echo 'invalid'; } else { echo 'valid'; } ?>