Page 1 of 1

.me Emails im Newsletter

Posted: Fri 6. Nov 2009, 07:47
by mrwmandy
Ich nutze das Newsletter Modul von phpwcms, das funktioniert auch gut.
Leider habe ich Probleme mit ner Email Adresse eines Fachhändlers aus Bahrein.
Dann bekomme ich ein fettes rotes "X" ...

Da ich bisher keine Probleme mit Emailadresse hatte kann ich mir nur vorstellen, das es mit der Endung ".me" zu tun hat.

Kann man das irgendwo einstellen?

Re: .me Emails im Newsletter

Posted: Fri 6. Nov 2009, 09:16
by Heiko H.
mrwmandy wrote:ich mir nur vorstellen, das es mit der Endung ".me" zu tun hat.
Hmmm,...
...möglich, .me ist die Top Level Domain von Montenegro - nichts ungewöhnliches also.
Da es diese TLD noch nicht sooo ewig gibt, ist es evtl. denkbar, dass das Newsletterscript gegen eine "veraltete Liste" prüft und so deinen name@domain.me Abonnenten nicht als valide E-Mailadresse erkennt...

Wie gesagt, das ist jetzt nur mal so in's Blaue getippt, OG kann dazu sicher mehr sagen.

Grüße Heiko...

Re: .me Emails im Newsletter

Posted: Fri 6. Nov 2009, 09:19
by Oliver Georgi
Die Funktion is_valid_email() in include/inc_lib/general.inc.php muss aktualisiert werden. Habe erst kürzlich dort alle aktuell gültigen TLDs berücksichtigt.

Code: Select all

function is_valid_email($email) {

	// Split it into sections to make life easier
	$email_array = explode('@', $email);
	$count = count($email_array);
	
	// First, we check that there's one @ symbol, and that the lengths are right
	if($count != 2) {
		return false;
	}
	if(empty($email_array[0]) || strlen($email_array[0]) > 64) {
		return false;
	}
	if(empty($email_array[1]) || strlen($email_array[1]) > 255) {
		return false;
	}	
	$local_array = explode('.', $email_array[0]);
	for ($i = 0; $i < count($local_array); $i++) {
		if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
			return false;
		}
	}  
	if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
		$domain_array = explode('.', $email_array[1]);
		$count = count($domain_array);
		if ($count < 2) {
			return false; // Not enough parts to domain
		}
		for ($i = 0; $i < $count; $i++) {
			if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
				return false;
			}
		}
		
		// check if it is valid TLD
		$tld = strtolower($domain_array[ $count-1 ]);
		// Updated 2009-09-14
		$tld_all = array(
			'ac', 
			'ad', 
			'ae', 
			'aero', 
			'af', 
			'ag', 
			'ai', 
			'al', 
			'am', 
			'an', 
			'ao', 
			'aq', 
			'ar', 
			'arpa', 
			'as', 
			'asia', 
			'at', 
			'au', 
			'aw', 
			'ax', 
			'az', 
			'ba', 
			'bb', 
			'bd', 
			'be', 
			'bf', 
			'bg', 
			'bh', 
			'bi', 
			'biz', 
			'bj', 
			'bm', 
			'bn', 
			'bo', 
			'br', 
			'bs', 
			'bt', 
			'bv', 
			'bw', 
			'by', 
			'bz', 
			'ca', 
			'cat', 
			'cc', 
			'cd', 
			'cf', 
			'cg', 
			'ch', 
			'ci', 
			'ck', 
			'cl', 
			'cm', 
			'cn', 
			'co', 
			'com', 
			'coop', 
			'cr', 
			'cu', 
			'cv', 
			'cx', 
			'cy', 
			'cz', 
			'de', 
			'dj', 
			'dk', 
			'dm', 
			'do', 
			'dz', 
			'ec', 
			'edu', 
			'ee', 
			'eg', 
			'er', 
			'es', 
			'et', 
			'eu', 
			'fi', 
			'fj', 
			'fk', 
			'fm', 
			'fo', 
			'fr', 
			'ga', 
			'gb', 
			'gd', 
			'ge', 
			'gf', 
			'gg', 
			'gh', 
			'gi', 
			'gl', 
			'gm', 
			'gn', 
			'gov', 
			'gp', 
			'gq', 
			'gr', 
			'gs', 
			'gt', 
			'gu', 
			'gw', 
			'gy', 
			'hk', 
			'hm', 
			'hn', 
			'hr', 
			'ht', 
			'hu', 
			'id', 
			'ie', 
			'il', 
			'im', 
			'in', 
			'info', 
			'int', 
			'io', 
			'iq', 
			'ir', 
			'is', 
			'it', 
			'je', 
			'jm', 
			'jo', 
			'jobs', 
			'jp', 
			'ke', 
			'kg', 
			'kh', 
			'ki', 
			'km', 
			'kn', 
			'kp', 
			'kr', 
			'kw', 
			'ky', 
			'kz', 
			'la', 
			'lb', 
			'lc', 
			'li', 
			'lk', 
			'lr', 
			'ls', 
			'lt', 
			'lu', 
			'lv', 
			'ly', 
			'ma', 
			'mc', 
			'md', 
			'me', 
			'mg', 
			'mh', 
			'mil', 
			'mk', 
			'ml', 
			'mm', 
			'mn', 
			'mo', 
			'mobi', 
			'mp', 
			'mq', 
			'mr', 
			'ms', 
			'mt', 
			'mu', 
			'museum', 
			'mv', 
			'mw', 
			'mx', 
			'my', 
			'mz', 
			'na', 
			'name', 
			'nc', 
			'ne', 
			'net', 
			'nf', 
			'ng', 
			'ni', 
			'nl', 
			'no', 
			'np', 
			'nr', 
			'nu', 
			'nz', 
			'om', 
			'org', 
			'pa', 
			'pe', 
			'pf', 
			'pg', 
			'ph', 
			'pk', 
			'pl', 
			'pm', 
			'pn', 
			'pr', 
			'pro', 
			'ps', 
			'pt', 
			'pw', 
			'py', 
			'qa', 
			're', 
			'ro', 
			'rs', 
			'ru', 
			'rw', 
			'sa', 
			'sb', 
			'sc', 
			'sd', 
			'se', 
			'sg', 
			'sh', 
			'si', 
			'sj', 
			'sk', 
			'sl', 
			'sm', 
			'sn', 
			'so', 
			'sr', 
			'st', 
			'su', 
			'sv', 
			'sy', 
			'sz', 
			'tc', 
			'td', 
			'tel', 
			'tf', 
			'tg', 
			'th', 
			'tj', 
			'tk', 
			'tl', 
			'tm', 
			'tn', 
			'to', 
			'tp', 
			'tr', 
			'travel', 
			'tt', 
			'tv', 
			'tw', 
			'tz', 
			'ua', 
			'ug', 
			'uk', 
			'us', 
			'uy', 
			'uz', 
			'va', 
			'vc', 
			've', 
			'vg', 
			'vi', 
			'vn', 
			'vu', 
			'wf', 
			'ws', 
			'ye', 
			'yt', 
			'yu', 
			'za', 
			'zm', 
			'zw', 
		);

		if(!in_array($tld, $tld_all)) {
			return false;
		}
	}
	
	return true;
}
Oliver

Re: .me Emails im Newsletter

Posted: Fri 6. Nov 2009, 10:34
by mrwmandy
Danke, das wars! :D