diff -urN oscommerce-2.2ms2-060817/catalog/account_edit.php oscommerce-2.2ms2-060817-verifymail/catalog/account_edit.php --- oscommerce-2.2ms2-060817/catalog/account_edit.php 2006-03-27 17:49:35.000000000 +0000 +++ oscommerce-2.2ms2-060817-verifymail/catalog/account_edit.php 2007-04-09 11:11:14.000000000 +0000 @@ -26,6 +26,9 @@ $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); if (ACCOUNT_DOB == 'true') $dob = tep_db_prepare_input($HTTP_POST_VARS['dob']); $email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']); + /* START validate_email */ + $email_address2 = tep_db_prepare_input($HTTP_POST_VARS['email_address2']); + /* END validate_email */ $telephone = tep_db_prepare_input($HTTP_POST_VARS['telephone']); $fax = tep_db_prepare_input($HTTP_POST_VARS['fax']); @@ -65,7 +68,9 @@ $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR); } - if (!tep_validate_email($email_address)) { + /* START validate_email */ + if ($email_address != $email_address2 || !tep_validate_email($email_address)) { + /* END validate_email */ $error = true; $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); @@ -218,6 +223,12 @@ ' . ENTRY_EMAIL_ADDRESS_TEXT . '': ''); ?> + + + + ' . ENTRY_EMAIL_ADDRESS_TEXT . '': ''); ?> + + ' . ENTRY_TELEPHONE_NUMBER_TEXT . '': ''); ?> diff -urN oscommerce-2.2ms2-060817/catalog/create_account.php oscommerce-2.2ms2-060817-verifymail/catalog/create_account.php --- oscommerce-2.2ms2-060817/catalog/create_account.php 2006-03-27 17:49:35.000000000 +0000 +++ oscommerce-2.2ms2-060817-verifymail/catalog/create_account.php 2007-04-09 11:02:03.000000000 +0000 @@ -30,6 +30,9 @@ $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); if (ACCOUNT_DOB == 'true') $dob = tep_db_prepare_input($HTTP_POST_VARS['dob']); $email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']); + /* START validate_email */ + $email_address2 = tep_db_prepare_input($HTTP_POST_VARS['email_address2']); + /* END validate_email */ if (ACCOUNT_COMPANY == 'true') $company = tep_db_prepare_input($HTTP_POST_VARS['company']); $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']); if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']); @@ -84,11 +87,13 @@ } } - if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) { + if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH ) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR); - } elseif (tep_validate_email($email_address) == false) { + /* START validate_email */ + } elseif ($email_address != $email_address2 || tep_validate_email($email_address) == false) { + /* END validate_email */ $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); @@ -348,6 +353,12 @@ ' . ENTRY_EMAIL_ADDRESS_TEXT . '': ''); ?> + + + + ' . ENTRY_EMAIL_ADDRESS_TEXT . '': ''); ?> + + diff -urN oscommerce-2.2ms2-060817/catalog/includes/functions/validations.php oscommerce-2.2ms2-060817-verifymail/catalog/includes/functions/validations.php --- oscommerce-2.2ms2-060817/catalog/includes/functions/validations.php 2006-03-27 17:49:35.000000000 +0000 +++ oscommerce-2.2ms2-060817-verifymail/catalog/includes/functions/validations.php 2007-04-09 11:04:21.000000000 +0000 @@ -117,6 +117,74 @@ $valid_address = false; } } + + /* START validate_email */ + if($valid_address){ + getmxrr( $domain, $mx_records, $mx_weight ); + + // copy mx records and weight into array $mxs + $mxs=array(); + + for($i=0;$i"); + + // 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") + $mail_ok=true; + + // quit mail server connection + $ms_resp.=send_command($fp, "QUIT"); + + fclose($fp); + } + } + if(!$mail_ok) { + $valid_address = false; + } + } + /* END validate_email */ + return $valid_address; } + + + /* START validate_email */ + 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; + } + /* END validate_email */ + ?>