---
title: "Email validiert nicht"
url: "https://www.typo3.net/d/95149-email-validiert-nicht"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2009-12-10"
last_reply: "2009-12-11"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# Email validiert nicht

Extensions · 3 Antworten · gestartet 2009-12-10

## Eröffnungsbeitrag

**Markus306** · 2009-12-10 · [Beitrag #1](https://www.typo3.net/d/95149-email-validiert-nicht/1)

Hallo,

ich habe das Problem das bei meinem Kontaktforumlar die Email Adresse als nicht zulässig erachtet wird. Nur komm ich nicht zu der Lösung. Ich nutz TYPO3 4.2.10 mit Powermail 1.5.0.

Und ich denke es gibt nur 2 Möglichkeiten. Entweder ist die Funktion in Powermail Fehlerhaft oder die in der Funktion aufgerufene CoreFunktion tut es nicht.

Die Email Adresse name@ab28.de zum Beispiel wird nicht als Email Adresse erkannt nur versteh ich absolut nicht warum.

```php
function emailCheck() {
		if ($this->cObj->data['tx_powermail_sender'] && is_array($this->sessionfields)) { // If email address from sender is set in backend
			if ($this->sessionfields[$this->cObj->data['tx_powermail_sender']]) { // if there is content in the email sender field
				if (!t3lib_div::validEmail($this->sessionfields[$this->cObj->data['tx_powermail_sender']])) { // Value is not an email address
					$this->sessionfields['ERROR'][str_replace('uid', '', $this->cObj->data['tx_powermail_sender'])][] = $this->pi_getLL('error_validemail'); // write error message to session
				} else { // Syntax of email address is correct - check for MX Record (if activated via constants)
					if ($this->conf['email.']['checkMX'] && !$this->div->checkMX($this->sessionfields[$this->cObj->data['tx_powermail_sender']] )) {
                        $this->sessionfields['ERROR'][str_replace('uid', '', $this->cObj->data['tx_powermail_sender'])][] = $this->pi_getLL('error_nomx'); // write error message to session
                    }
				}
			}
		}
	}
```

Das ist die Funktion von Powermail bei der ich so keinen Fehler seh und die da aufgerufene Funktion, siehe unten, sieht für mich auch korrekt aus. Nun bin ich leider kein Experte in Sachen Reguläre Ausdrücke. Kann mir einer sagen was da schief läuft.

```php
public static function validEmail($email)	{
		$email = trim ($email);
		if (strpos($email,' ') !== false) {
			return false;
		}
		return ereg('^[A-Za-z0-9\._-]+[@][A-Za-z0-9\._-]+[\.].[A-Za-z0-9]+$',$email) ? TRUE : FALSE;
	}
```

## Antworten

### [#2](https://www.typo3.net/d/95149-email-validiert-nicht/2) · Markus306 · 2009-12-10

Gut also die TYPO3 Funktion gibt nach Tests richtige Ergebnisse nur wenn ich mit print_r ($this->sessionfields[$this->cObj->data['tx_powermail_sender']]); dem das mal ausgebe erscheint die Email Adresse in dem Fall Doppelt. Also name@ab28.dename@ab28.de. Aber nur In diesen Besonderen Fällen.

Und das diese Mail Adresse nicht valide ist seh ich ein. :D

Frage ist wieso kommt es dazu das es Doppelt ist.

### [#3](https://www.typo3.net/d/95149-email-validiert-nicht/3) · just2b · 2009-12-11

fyi: mit 4.3. wurde das abgeändert und lässt wesentlich mehr emailadressen zu, die alle valide sind:

```php
	public static function validEmail($email)	{
		return (filter_var($email, FILTER_VALIDATE_EMAIL) !== false);
	}
```

### [#4](https://www.typo3.net/d/95149-email-validiert-nicht/4) · Markus306 · 2009-12-11

ahh schön das es in 4.3 jetzt so gut gelöst ist und die php funktion genutzt wird nur die funktion schein die email zu akzeptieren. also liegts nicht am core. muss irgendwas bei powermail schief gehen.

komisch ist nur wenn ich die sessiondaten ausgeben lasse, dann steht die email adresse einmal drin. Wenn ich aber die daten bei der email validierung ausgeben lasse dann ist die email adresse 2mal drin.

aber auch nur bei diesem typ adresse. wenn ich name@googlemail.com nehme dann ist es immer nur einmal als string. ich versteh das alles absolut nicht.

---

Quelle: „Email validiert nicht“, typo3.net, https://www.typo3.net/d/95149-email-validiert-nicht
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
