commit c0d0c7f5e0908c4ef0028601a92018eccb3e784c
parent 56ffee2f31c3829f089ea28cba3abf9900cdca64
Author: dankert <devnull@localhost>
Date: Fri, 25 Sep 2009 00:49:01 +0200
E-Mail-Syntax in der Klasse \"Mail\" prüfen.
Diffstat:
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/actionClasses/IndexAction.class.php b/actionClasses/IndexAction.class.php
@@ -1242,7 +1242,7 @@ class IndexAction extends Action
{
$email_address = $this->getRequestVar('mail','mail');
- if ( !ereg("^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$", $email_address) )
+ if ( ! Mail::checkAddress($email_address) )
{
$this->addValidationError('mail');
$this->setTemplateVar('mail',$email_address);
diff --git a/serviceClasses/Mail.class.php b/serviceClasses/Mail.class.php
@@ -525,6 +525,23 @@ class Mail
asort($mxList);
return key($mxList);
}
+
+
+
+ /**
+ * Stellt fest, ob die E-Mail-Adresse eine gueltige Syntax besitzt.
+ *
+ * Es wird nur die Syntax geprüft. Ob die Adresse wirklich existiert, steht dadurch noch lange
+ * nicht fest. Dazu müsste man die MX-Records auflösen und einen Zustellversuch unternehmen.
+ *
+ * @param $email_address Adresse
+ * @return true, falls Adresse OK, sonst false
+ */
+ function checkAddress( $email_address )
+ {
+ // Source: de.php.net/ereg
+ return ereg("^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$", $email_address);
+ }
}