Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

erro reading when sending email---please help


philpop

Recommended Posts

Some email addresses work fine, and others dont. Anyone know why?

 

This is what it says when it cant send some emails;

Warning: eregi(): REG_EMPTY in /home/heli/public_html/includes/functions/validations.php on line 97

 

Your E-Mail Address does not appear to be valid - please make any necessary corrections.

 

How do I fix this??

 

thanks

Phil

Link to comment
Share on other sites

<?php

/*

$Id: validations.php,v 1.11 2003/02/11 01:31:02 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

////////////////////////////////////////////////////////////////////////////////////////////////

//

// Function : tep_validate_email

//

// Arguments : email email address to be checked

//

// Return : true - valid email address

// false - invalid email address

//

// Description : function for validating email address that conforms to RFC 822 specs

//

// This function is converted from a JavaScript written by

// Sandeep V. Tamhankar ([email protected]). The original JavaScript

// is available at http://javascript.internet.com

//

// Sample Valid Addresses:

//

// [email protected]

// [email protected]

// "first last"@host.com

// "first@last"@host.com

// [email protected]

// first.last@[123.123.123.123]

//

// Invalid Addresses:

//

// first [email protected]

//

//

////////////////////////////////////////////////////////////////////////////////////////////////

function tep_validate_email($email) {

$valid_address = true;

 

$mail_pat = '^(.+)@(.+)$';

$valid_chars = "[^] \(\)<>@,;:\.\\\"\[]";

$atom = "$valid_chars+";

$quoted_user='(\"[^\"]*\")';

$word = "($atom|$quoted_user)";

$user_pat = "^$word(\.$word)*$";

$ip_domain_pat='^\[([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\]$';

$domain_pat = "^$atom(\.$atom)*$";

 

if (eregi($mail_pat, $email, $components)) {

$user = $components[1];

$domain = $components[2];

// validate user

if (eregi($user_pat, $user)) {

// validate domain

if (eregi($ip_domain_pat, $domain, $ip_components)) {

// this is an IP address

for ($i=1;$i<=4;$i++) {

if ($ip_components[$i] > 255) {

$valid_address = false;

break;

}

}

}

else {

// Domain is a name, not an IP

if (eregi($domain_pat, $domain)) {

/* domain name seems valid, but now make sure that it ends in a valid TLD or ccTLD

and that there's a hostname preceding the domain or country. */

$domain_components = explode(".", $domain);

// Make sure there's a host name preceding the domain.

if (sizeof($domain_components) < 2) {

$valid_address = false;

} else {

$top_level_domain = strtolower($domain_components[sizeof($domain_components)-1]);

// Allow all 2-letter TLDs (ccTLDs)

if (eregi('^[a-z][a-z]$', $top_level_domain) != 1) {

$tld_pattern = '';

// Get authorized TLDs from text file

$tlds = file(DIR_WS_INCLUDES . 'tld.txt');

while (list(,$line) = each($tlds)) {

// Get rid of comments

$words = explode('#', $line);

$tld = trim($words[0]);

// TLDs should be 3 letters or more

if (eregi('^[a-z]{3,}$', $tld) == 1) {

$tld_pattern .= '^' . $tld . '$|';

}

}

// Remove last '|'

$tld_pattern = substr($tld_pattern, 0, -1);

if (eregi("$tld_pattern", $top_level_domain) == 0) {

$valid_address = false;

}

}

}

}

else {

$valid_address = false;

}

}

}

else {

$valid_address = false;

}

}

else {

$valid_address = false;

}

if ($valid_address && ENTRY_EMAIL_ADDRESS_CHECK == 'true') {

if (!checkdnsrr($domain, "MX") && !checkdnsrr($domain, "A")) {

$valid_address = false;

}

}

return $valid_address;

}

?>

Link to comment
Share on other sites

heres my website

www.microheliworkz.com.au

 

go to the left hand side and see if your email address works,

 

thanks

Phil

 

It would be easier if you just tell us which type fail, if mine is okay where does that get us.

 

I'm not asking for real addresses just of the format that fails, which you obviously know or how else would there be a problem.

Link to comment
Share on other sites

It would be easier if you just tell us which type fail, if mine is okay where does that get us.

 

I'm not asking for real addresses just of the format that fails, which you obviously know or how else would there be a problem.

 

well, my email address works and its in the format

 

[email protected]

 

and

[email protected]

also works

 

but

[email protected] doesnt

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...