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 |
01.03.2010, 13:27:47
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
|
|
Mailscript funktioniert, aber sendet trotz Fehler
Hallo Zusammen,
ich hab mir einen Webmailer nachgebaut und erweitert, welcher zwar genau tut, was er soll, doch wenn ein Fehler auftritt sendet er trotzdem.
So kontrolliert dieses Script, ob Name, Vorname, E-Mail-Adresse und Kommentar eingegeben wurden. Ist dies nicht der Fall, so blockt es die Mail.
Wurde ein "hidden" Kontrollfeld ausgefüllt, so ist es Spam und wird geblockt.
Dies funktioniert so weit.
Wurde eine E-Mailadresse eingegeben, welche ohne @ oder . ist, so meckert es zwar, doch die E-Mail landet trotzdem in meinem Postfach.
Kann mir bitte jemand sagen, wie ich den umbauen muss, dass er dann nicht sendet, wenn die eingegebene Absender-E-Mailadresse nicht die benannten beiden Zeichen enthält.
Schon mal vielen Dank für Eure Hilfe
Liebe Grüße
andreas
PHP-Code:
<?php
$empfaenger="xxx@xxxxxde";
$betreff="Webmailformular";
$botschaft="Folgendes wurde angegeben:\n\n";
/* Schleife liest Attribut-Werte-Paare aus: */
foreach($_POST as $name=> $value) {
/* Alle Daten werden in $botschaft gespeichert: */
$botschaft.="$name=$value\n";
}
/* Versenden! Bitte Mail-Feld im Formular vorsehen! */
if (isset($_POST["Mail"]) && $_POST["Mail"]!="" && $_POST["Kommentar"]!="")
{ // Mail-Feld gesetzt und nicht leer? und Kommentar nicht leer?
/* Dann wird Versenden-Funktion mail() aktiv */
/*Wenn das Ned-Feld Daten enthaelt ist es Spam und wird nicht verschickt*/
if (empty($_POST['Ned']))
{
$affe="@";
$punkt=".";
$absender=$_POST["Mail"];
/*Kontrolle ob die E-MailAdresse ein @ und winwn . hat*/
$ist_affe = strpos($absender, $affe);
$ist_punkt = strpos($absender, $punkt);
if(($ist_affe === false) or ($ist_punkt === false)) {
echo "<h1>Bitte pruefen Sie ihre E-Mail Adresse</h1>";
echo "<p><a href='javascript:history.back()'>Zurueck</a></p>";
}
else {
$mailgut=1;
}
if((mail($empfaenger, $betreff, $botschaft, "From: $absender")) && ($mailgut==1))
{
/* War mail() erfolgreich, dann: */
echo "<h1>Danke für die Nachricht!</h1>\n";
echo "<p>Die Daten wurden weitergeleitet!</p>\n";
}
/* Sonst gibt es eine Fehlermeldung: */
}
else {
echo "<h1>Leider konnten Ihre eingegebenen Daten nicht versandt werden.</h1>\n";
}
}
/* else-Zweig äußere if bei nicht gesetzter Variable $Mail: */
else {
echo "<h1>Bitte geben Sie Ihre E-Mail-Adresse und/oder einen Kommentar an!</h1>\n<a href='javascript:history.back()'>zurück</a>";
}
?>
a
|
01.03.2010, 14:00:09
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
PHP-Code:
<?php
...
else {
if(mail($empfaenger, $betreff, $botschaft, "From: $absender"))
{
/* War mail() erfolgreich, dann: */
echo "<h1>Danke für die Nachricht!</h1>\n";
echo "<p>Die Daten wurden weitergeleitet!</p>\n";
}
}
?>
Lasse $mailgut weg oder ändere die Reihenfolge im if.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
01.03.2010, 15:18:41
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Hallo vt1816,
danke für Deine schnelle Antwort.
Zitat:
Zitat von vt1816
...
Lasse $mailgut weg oder ändere die Reihenfolge im if.
|
Ja, genau dies war meine Einfügung, die mich nun foppt.
Nun muss ich zum besseren Verständnis leider etwas ausholen.
Das Mailformular dient auf einer Vereinshomepage für die E-Mailkontakte zu den Vereinsvorständen. Richtige E-Mail-Adressen soll ich wg. Spam und Belästigungen der Konturenz vor Ort nicht angeben.
Das $mailgut wollte ich einfügen, da es vor einer Woche passierte, dass eine Mail ankam, mit einer Beitritts-Anfrage. In dieser Mail war zwar eine Mailadresse angegeben, doch die hatte das Format: Anfrage wegen meines 8 jährigen Sohnes. Den Namen des Interessenten gib es aber in den Telefonbüchern nicht.
Also soll ich, der, der die Homepage zu pflegen hat, eine Kontrolle einbauen, dass nurnoch mit gültiger E-Mailadresse oder evtl. mit Telefonnummer gesendet werden kann.
Nun suchte ich schon Verschiedenes zusammen, doch was ich fand und zusammenbrachte war alles mit Javascript. Das Ganze soll aber ohne Javascript auskommen, wg. der Scpritblocker, welche in dieser Gegend modern zu sein scheinen... (Nach Aussage der meisten Vereinsmitglieder)
(Also bleibt mur nur sowas wie PHP, da das ja den Scriptblocker gar nicht interessiert.)
In PHP fand ich aber noch kein vollständiges Beispiel für eine Kontrolle, ob eine E-Mailadresse gültig aufgebaut ist oder nicht. Also nach dem Schema: Zeichen@zeichen.zeichen.
Nun bastelte ich mir etwas, womit ich wenigstens sehen kann, ob @ und . in der Adresse drin sind, oder nicht.
Aber wie und wo bringe ich das in dem Script nun unter?
Tut mir leid, dass ich nun so viel Text ablassen musste, doch hoffe ich, dass ich alle evtnuellen Unklarheiten dazu geklärt habe.
Nochmal danke für Deine Antwort, wo soll ich denn besser den Teil mit dem $mailgut einfügen, damit das alles andere stoppt, oder bei Erfolg die Mail gesendet wird.
Viele Grüße
aus dem sonnigen Geretsried
andreasa
|
01.03.2010, 16:24:53
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Hast Du mal den von mir geposteten Code(-Schnippsel - bzgl. lass $mailgut weg) in Deinem Script entsprechend angepasst?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
01.03.2010, 20:52:51
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Zitat:
Zitat von vt1816
Hast Du mal den von mir geposteten Code(-Schnippsel - bzgl. lass $mailgut weg) in Deinem Script entsprechend angepasst?
|
Ja, hab ich, ging nicht.
Erst als ich aus
PHP-Code:
else {
if(mail($empfaenger, $betreff, $botschaft, "From: $absender"))
{
PHP-Code:
else if(mail($empfaenger, $betreff, $botschaft, "From: $absender"))
{
machte, dann ging es durch.
Vielen Dank für den Tipp.
Ich probier noch ein wenig, vielleicht kriege ich das Script noch dazu, dass es mir auch kontrolliet, ob nach dem letzten Punkt noch ein Zeichen kommt, denn das ist ihm momentan wurst.
Wenn ich da mit was nicht klarkommen sollte, soll ich das dann hier, in diesem Thread posten, oder einen neuen aufmachen?
Viele Grüße
andreasa
|
02.03.2010, 06:50:21
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Zitat:
Zitat von andreasa
[...]
Wenn ich da mit was nicht klarkommen sollte, soll ich das dann hier, in diesem Thread posten, oder einen neuen aufmachen?
|
Neue Frage - neues Thema.
Schau Dir aber mal zum Beispiel explode() an.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
08.03.2010, 10:47:59
|
Anfänger
|
|
Registriert seit: Dec 2008
Alter: 57
Beiträge: 22
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Auf je0.de gefunden:
PHP-Code:
<?PHP
if($aktion=="Check") {
$muster='^[-a-z0-9!#$%&\'*+/=?^_<{|}~]+(\.[-a-zA-Z0-9!#$%&\'*+/=?^_<{|}~]+)*@([a-z0-9-]{3,})(\.[a-z0-9-]{2,})+$';
if(eregi($muster, $adresse))
echo "Adresse ist gültig.";
else
echo "Adresse ist ungültig.";
}
?>
<form action="seite.php" method="post"><br>
<input name="adresse" value="<?=$adresse?>">
<input type="submit" name="aktion" value="Check">
</form>
|
10.03.2010, 18:01:09
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Hallo Festus,
danke für Deinen Tip.
Es war nun ein Volltreffer.
Jetzt tut das Formular Alles, was ich brauche.
Es kontrolliert ob alle Felder ausgefüllt sind, ob die E-Mailadresse stimmen kann (möglich ist).
Etwas weiter oben meinte ich schon, dass es funzt, doch da waren noch einige Fehler.
Jetzt geht es fehlerlos durch.
Für die, die es interessiert, so sieht es jetzt aus:
PHP-Code:
$empfaenger="xx@xxx.de";
$betreff="Mailformular";
$botschaft="Folgendes wurde angegeben:\n\n";
foreach($_POST as $name=> $value) {
$botschaft.="$name=$value\n";
}
if (isset($_POST["Mail"]) && $_POST["Mail"]!="" && $_POST["Name"]!="" && $_POST["Vorname"]!="" && $_POST["Kommentar"]!="")
{
$madresse=$_POST["Mail"]; $muster='^[-a-z0-9!#$%&\'*+/=?^_<{|}~]+(\.[-a-zA-Z0-9!#$%&\'*+/=?^_<{|}~]+)*@([a-z0-9-]{3,})(\.[a-z0-9-]{2,})+$';
if(eregi($muster, $madresse))
if (empty($_POST['Ned'])) {
$absender=$_POST["Mail"];
if(mail($empfaenger, $betreff, $botschaft, "From: $absender"))
{
echo "<h1>Danke für die E-Mail!</h1>\n";
echo "<p>Die Daten wurden weitergeleitet!</p>\n";
}
}
else {
echo "<h1>Leider konnten Ihre eingegebenen Daten nicht versandt werden.</h1><p>Bitten gehen Sie <a href='javascript:history.back()'>zurück</a> und versuchen es erneut</p>\n";
}
else
echo "Diese E-Mail Adresse kann nicht stimmen. Bitte korrigieren.<br><a href='javascript:history.back()'>Zurück</a>";
}
else {
echo "<h1>Bitte alle Felder ausfüllen!</h1><p><a href='javascript:history.back()'>Zurück</a></p>\n";
}
Vielleicht kann es ja der Eine oder Andere brauchen.
Nochmals Danke
bis zum nächsten Mal
andreasa
|
10.03.2010, 18:25:04
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Zitat:
Zitat von andreasa
Vielleicht kann es ja der Eine oder Andere brauchen.
|
möchte dir nicht zu nahe treten, aber: danke, lass man gut sein. das skript ist nicht nur anfällig gegen angriffe, sondern offen wie ein scheunentor.
hier mal was zum einlesen: Spam-Gefahr durch Kontaktformulare
es wurde ja schon zig male (in anderen threads) gesagt: nutze eine mail-klasse wie swiftmailer. ich bau' ja auch gern alles selbst, aber mail-versand muss echt nicht sein .-
cx
|
11.03.2010, 15:05:44
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
|
|
AW: Mailscript funktioniert, aber sendet trotz Fehler
Hallo Cortex,
Zitat:
Zitat von cortex
möchte dir nicht zu nahe treten, aber: danke, lass man gut sein. das skript ist nicht nur anfällig gegen angriffe, sondern offen wie ein scheunentor.
cx
|
ich hatte zwar schon eine Kontrollmöglichkeit bezüglich Spamrobotter, mit dem Ned-Feld (ist ein verstecktes Feld, welches die Robotter trotzdem ausfüllen, und welches leer sein muss), was bis jetzt gut funktionierte (seit dem [1 Jahr] keine einzige Spammail mehr)
aber, ok. ich orientiere mich um, denn ich will nicht dass meine Site zum Spamzombie wird.
Den geposteten Code kann ich leider nicht mehr entfernen. Könntest ja Du, als Admin, für mich tun.
Danke für Deine Mühe und die Tips.
Bis zum nächsten Mal
andreasa
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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 07:11:06 Uhr.
|