CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |

23.08.2007, 17:34:46
|
Junior Member
|
|
Registriert seit: Jul 2007
Beiträge: 225
|
|
Emailformular Eingaben überprüfen
Hey ich habe ein emailformular und möchte natürlich die eingaben überprüfen lassen bevor die email abgesendet wird
dazu habe ich preg_match genommen
PHP-Code:
$pattern['email'] = "/[a-z0-9_-]+@[a-z0-9-]+\.[a-z]$/i";
if (isset($_POST['sender']) and isset($_POST['subject']) and isset($_POST['text']))
{
if(preg_match($pattern['email'], $sender))
{
$send = mail($empfaenger, $betreff, $nachricht, $header);
}
else
{
echo "Fehlerhafte Absenderesse";
}
}
nur leider akzeptiert der ne email in der form
vorname_name@domain.de
oder
vorname-nachname@domain.de nicht
was muss ich an meinem pattern ändern, damit es funkt
danke schonmal für euere hilfe
mfg Julius
|

23.08.2007, 19:17:02
|
 |
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
|
|
AW: Emailformular Eingaben überprüfen
Zitat:
Zitat von JuliusCaesar
was muss ich an meinem pattern ändern, damit es funkt
|
Laß es! Um alle möglichen Formen, wie eine Email aussehen darf incl. der Puny-Code ("Umlautdomains") Umsetzung, wird der Patternstring sehr lang. In lesbarer Form dargestellt, dürften so ca. 50 oder mehr Zeilen werden. Und selbst dann kann die Emailadresse falsch sein! zB. a@bc.de
Schick dem User einfach eine Email mit einem Bestätigungslink (Email Challange). Dann isses in seinem Interesse, dort keinen Unfug reinzutippern.
Geändert von meikel (†) (23.08.2007 um 19:18:03 Uhr)
|

23.08.2007, 21:51:14
|
Junior Member
|
|
Registriert seit: Jul 2007
Beiträge: 225
|
|
AW: Emailformular Eingaben überprüfen
hey
Zitat:
Laß es! Um alle möglichen Formen, wie eine Email aussehen darf incl. der Puny-Code ("Umlautdomains") Umsetzung, wird der Patternstring sehr lang. In lesbarer Form dargestellt, dürften so ca. 50 oder mehr Zeilen werden. Und selbst dann kann die Emailadresse falsch sein! zB. a@bc.de
|
eigentlich hatte ich vor nur ganz "normale" emails zu akzeptieren
vor dem @ dürfen alle buchstaben, zahlen, sowie _ und - stehen
und hinter dem @ einfach nur nen string mit buchstaben (a-z) und einen '.'
Damit hätte ich denke ich 90% der emails abgedeckt,auch a@bc.de
(so hatte ich das auch geplant, nur irgendwie funkt das net so)
Zitat:
Schick dem User einfach eine Email mit einem Bestätigungslink (Email Challange). Dann isses in seinem Interesse, dort keinen Unfug reinzutippern.
|
wie genau soll ich das denn machen, ich habe noch nie mails mit nem Bestätigungslink verschickt....
|

23.08.2007, 22:44:57
|
 |
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
|
|
AW: Emailformular Eingaben überprüfen
Zitat:
Zitat von JuliusCaesar
eigentlich hatte ich vor nur ganz "normale" emails zu akzeptieren
|
Was 'normal' ist, steht in den RFCs.
Zitat:
vor dem @ dürfen alle buchstaben, zahlen, sowie _ und - stehen
und hinter dem @ einfach nur nen string mit buchstaben (a-z) und einen '.'
|
Schon falsch.
15.11. Wie kann ich feststellen, ob eine Mailadresse äußerlich gültig ist?
http://www.php-faq.de/q/q-mail-adresse-gueltig.html
Zitat:
wie genau soll ich das denn machen, ich habe noch nie mails mit nem Bestätigungslink verschickt....
|
15.9. Wie kann ich die Gültigkeit einer Mailadresse testen?
http://www.php-faq.de/q/q-mail-adresse-testen.html
Zitat:
Zitat von FAQ
Die einzige Methode, zuverlässig zu testen, ob eine Mail zustellbar ist, ist sie zuzustellen.
|
|

25.08.2007, 00:06:42
|
Junior Member
|
|
Registriert seit: Jul 2007
Beiträge: 225
|
|
AW: Emailformular Eingaben überprüfen
hey danke erstmal für die links, ich habe mir mal zeit genommen sie durch zu arbeiten
wenn ich diesen Artikel richtig verstehe brauche ich lediglich
mithilfe dieses scripts
PHP-Code:
$addr = "user@host.doma.in";
list($user, $host) = explode("@", $addr);
if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) {
print "Mail ist vielleicht zustellbar.<BR>\n";
} else {
print "Mail ist sicher nicht zustellbar.<BR>\n";
}
prüfen, ob die mail zugestellt wird, falls die nicht zugestellt wird, kann ich doch mein script abbrechen oder?
|

25.08.2007, 07:33:37
|
 |
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
|
|
AW: Emailformular Eingaben überprüfen
Zitat:
Zitat von JuliusCaesar
... falls die nicht zugestellt wird, kann ich doch mein script abbrechen oder?
|
Ja, denn wenn der Hostname entweder falsch ist oder der Host keinen MX Eintrag hat, ist die Emailadresse falsch. Es bleibt das "Restrisiko", daß der Hostname korrekt ist, aber der Username falsch ist. Und das klärt man so, daß man dem User eine Mail mit einem Link "Hier gehts weiter" schickt, um den Account bzw. die Email zu verifizieren.
1. Du trägst den User in die Datenbank ein. In der Tabelle gibt es zwei zusätzliche Spalten:
eine vom Typ ENUM: die wird default auf NO/0/falsch oder sonstwas gesetzt
eine vom Typ varchar(32) - dort kommt der "Aktivierungsschlüssel" rein.
2. den Schlüssel kannste zB. mit der md5() Funktion basteln. Er muß einmalig sein und
möglichst nicht 'knackbar'.
3. Du generierst eine Email, in der der "Freischaltlink" enthalten ist.
4. natürlich muß es auch ein dazu passendes Script geben:
dieses Script sucht in der Tabelle den Aktivierungsschlüssel und setzt das ENUM Flag
von falsch auf wahr:
Code:
UPDATE tabelle SET valid = 1 WHERE key = '$key'
So oder so ähnlich...
Beachte dabei die sogenannten "Umlautdomains"! Da mußt Du den Hostnamen in den Puny-Code konvertieren.
Geändert von meikel (†) (25.08.2007 um 07:35:52 Uhr)
|

27.08.2007, 02:44:45
|
Junior Member
|
|
Registriert seit: Jul 2007
Beiträge: 225
|
|
AW: Emailformular Eingaben überprüfen
abend
ist es möglich ne aussage darüber zu treffen, bei wieivelen usern, das script abgebrochen wird, trotz richtiger email Adresse (weil der host keinen mx eintrag hat)?
weil so ganz ausführlich mit aktivierungslink und db wollte ich es eigentlich net machen,
mir würde theoretisch checkdnsrr reichen.....
|

27.08.2007, 11:25:24
|
 |
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
|
|
AW: Emailformular Eingaben überprüfen
Zitat:
Zitat von JuliusCaesar
ist es möglich ne aussage darüber zu treffen, bei wieivelen usern, das script abgebrochen wird, trotz richtiger email Adresse (weil der host keinen mx eintrag hat)?
|
Wenn die Domain keinen MX Eintrag hat, dann gilt der A Record als Briefkasten.
Zitat:
mir würde theoretisch checkdnsrr reichen.....
|
Das ist schön bequem. Bin mal gespannt, wie lange es dauert, bis root@localhost, user@example.com usw. dort angegeben werden.
|

28.08.2007, 01:15:44
|
Junior Member
|
|
Registriert seit: Jul 2007
Beiträge: 225
|
|
AW: Emailformular Eingaben überprüfen
was ist den ein A rekord?
aber auch wenn der provider einen A record hätte würde die email zugestellt, oder wa smuss man sich darunter vorstellen
Wikipedia ist in diesem fall nicht sehr hilfreich
Zitat:
Das ist schön bequem. Bin mal gespannt, wie lange es dauert, bis root@localhost, user@example.com usw. dort angegeben werden.
|
naja es soll ja einfach nur ne bestätigung sein, dass die emailadresse exisitert für ein einfaches emailformular welches auf meiner hp liegt (ich benutzte für die hp keine db) ;)
ich denke/hoffe, dass checkdnsrr in 80% der fälle hilft, die übrigen 20% müssen entweder vernünftige emailadresse nehmen oder von woanders die mail schicken
aber ich denke ich werde noch einen ensprechenden hinweis auf der hp platzieren ;)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:30:39 Uhr.
|