openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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:
actionClasses/IndexAction.class.php | 2+-
serviceClasses/Mail.class.php | 17+++++++++++++++++
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); + } }