Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Problem mit FormMailer

Frage Entwicklung PHP

Mitglied: Dextha

Dextha (Level 2) - Jetzt verbinden

21.08.2008, aktualisiert 24.08.2008, 3704 Aufrufe, 1 Kommentar

Hallo,

ich möchte einen einfachen FormMailer einsetzen und habe das Problem dass scheinbar die Variablen aus der User-Abfrage nicht ins formmailer-Script übernommen werden.

Folgende Abfrage mach ich für für den User:

<form name="mail" method="post" action="mailer.php">
Name
<br />
<input type="text" name="Name" />
<input name="Submit" type="submit" value="Nachricht senden" />


und das formmailer-Script (mailer.php) schaut so aus:

sendEmail() ;



  1. Konfiguration


function sendEmail(){

Zu Testzwecken
1 => Der Inhalt der eMail wird in eine Textdatei geschrieben (wenn Sie offline testen möchten)
0 => Die eMail wird verschickt

$testOffline = 0 ;


Geben Sie hier ein gültige eMail-Adresse von sich an
Diese eMail-Adresse wird dann auch als Absender-eMail-Adresse angezeigt, wenn die nachfolgende
Option nicht aktiviert (also auf 1 gesetzt) wird.
(Dies ist bei manchen Providern Voraussetzung, um Spamming zu verhindern)

$emailFrom = "user@domain.at" ;


eMail-Adresse des Versenders als Absenderadresse nutzen (um beispielsweise direkt anworten zu können)
1 => Ja | 0 => Nein

$useSendersEmail = 0 ;


Geben Sie nachfolgend den Namen des Formularfeldes an, in das der Absender seine
eMail-Adresse einträgt (Voreinstellung ist: eMail || BEACHTEN SIE GROSS- & KLEINSCHREIBUNG!!!!).
Die Eingabe ist nur dann notwendig, wenn Sie die vorangehende Option ($useSendersEmail) auf "1" setzen!

$mailFromField = 'eMail' ;


SPAM-MISSBRAUCH-SCHUTZ
Aktivieren Sie den Schutz vor einem Missbrauch des Formmailers durch Spammer!
Genauere Informationen finden Sie in der README.txt
1 => aktiviert | 0 => NICHT aktiviert

$spamProtect = 0 ;


Empfänger eMail-Adressen, Subject, Zielseite nach dem Versenden der eMail
Soll KEINE Kopie der eMail an eine zweite Adresse geschickt werden, so löschen Sie die "Dummy"-eMail-Adresse
"kopie@ihre_domain.de", so daß nur noch die beiden Hochstriche stehen bleiben ("").
Ansonsten geben Sie dort bitte eine gültige eMail-Adresse ein.
Genauere Informationen finden Sie in der README.txt

$send_dat = array(

"dat1" => array("meine@mailadresse.at", "", "Kontakt über die Internetseite", "index.php"),
#"dat2" => array("", "", "", ""),
#"dat3" => array("", "", "", ""),
);


Felder aus dem Formular, die NICHT mit der eMail übertragen werden sollen.
TIPP: Verwenden Sie grafische Buttons als "Absendeknopf", so werden die Koordinaten
der Klickstelle mit der eMail verschickt. Um diesen (unschönen) Effekt zu umgehen,
geben sie für den grafischen Button name="senden" ein.

$ignoreFormFields = array('send_index', 'senden', 'submit', 'check_form','Submit','senden_y','senden_x');




  1. Programmablauf (ab hier nichts mehr ändern)


Datum (+deutsche Tage)

$name_tag = array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
$day = $name_tag[date('w')];
$year = date('Y');
$n = date('d');
$month = date('m');
$time = (date('H:i'));


Prüfung, welches send_dat-Array zum senden verwendet werden soll
Default: dat1

!empty($_POST['send_index']) ? $st = $_POST['send_index'] : $st = 'dat1';


Versende Daten

$mailto = $send_dat[$st][0]; Ziel-eMail-Adresse
$mail_cc = $send_dat[$st][1];
2. Ziel-eMail-Adresse (Kopie)
$subject = $send_dat[$st][2]; Subjekt
$redirect = $send_dat[$st][3];
Zielseite nach eMailversand


Formularfelder auslesen und in die eMail "einsetzen"
Zu ignorierende Felder werden NICHT eingesetzt

while (list($fieldName, $fieldValue) = each($_POST)) {

if (in_array($fieldName, $ignoreFormFields) || empty($fieldValue)) continue;
$message .= "== $fieldName
\r\n$fieldValue\r\n\r\n\r\n";
}


Funktion zum prüfen des Inhaltes aufrufen

$message = cleanContent($message, $spamProtect);


Datum und Zeit voranstellen

$message = ":: Gesendet am $day, den $n.$month.$year - $time Uhr ::\r\n\r\n$message";


Weiterleitung auf eine andere Seite

Header("Location: $redirect");


Absender-eMail-Adresse

($useSendersEmail == 1) ? $emailFrom = $_POST[$mailFromField] : $emailFrom = $emailFrom;
$header = "From: $emailFrom";


Kopie schicken

if (!empty($mail_cc)) {

$header .= "\r\n";
$header .= "Cc: $mail_cc";
}


eMail verschicken

if ($testOffline == '0') {

@mail ($mailto, $subject, $message, $header) || die('Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut!');
}


eMail zum testen in ein Textfile schreiben

if ($testOffline == '1') {

$testmail = fopen('email.txt', 'w+');
fwrite($testmail, $message);
fclose($testmail);
}

}




  1. Inhalte "bereinigen"


function cleanContent($content, $spamProtect) {


$content = str_replace('<br>', "\r\n", $content);
$content = stripslashes(strip_tags($content));

Spam-Missbrauch-Schutz aufrufen
if($spamProtect == 1) { $content = checkContent($content); }

return $content;

}




  1. Spam-Missbrauch-Schutz


function checkContent($tpcontent) {


kritische Zeichen entfernen

$checkit = array("/bcc\:/i","/cc\:/i","/to\:/i");
$tpcontent = preg_replace($checkit, "", $tpcontent);


Script-Abbruch bei eindeutigem Spamversuchen

if (preg_match("/(MIME\-Version\:|Content\-Type\/i", $tpcontent)) {
die('Ihre Angaben enthalten kritische Zeichen! Aus Gründen des Spamschutzes wird Ihre Nachricht nicht versendet.');
}

if (empty($tpcontent)) {
die('Es wurden keine Angaben gemacht! Ein leeres Formular wird nicht versendet.');
}

return $tpcontent ;

}




  1. ENDE


?>


Beim Mail welches Versende wird steht nur das Datum/Uhrzeit drin, welche in mailer.php selbst eingetragen wird. Die Daten, welche von der Abfrage ins mailer.php übertrgen werden sollen stehen nicht drin
Kann es sein, dass Einstellungen in der PHP.ini nicht passen???
Mitglied: masterG
24.08.2008 um 11:59 Uhr
An der php.ini liegts nicht. Das script übernimmt die variable für den text und für den betreff nicht.
Bitte warten ..
Ähnliche Inhalte
Server
Problem PHP5.4 Update nun ein Problem
Frage von vServerServer4 Kommentare

Hallo, habe heute auch PHP 5.4 Updatet, nun erhalte ich folgende Meldung: PHP-Quelltext Würde gerne noch auf PHP5.5 ...

Windows Tools
Problem mit excel
Frage von bertaschweigerWindows Tools2 Kommentare

ich habe da mal ein Problem: Excel 2013 / 365 setzt einen Blattschutz, welcher die Zellenbearbeitung (Eingabe) bei ungeschützten ...

PHP
Problem mit php
Frage von jensgebkenPHP4 Kommentare

hallo gemeinschaft ein bekannter hat mir ein kleines script geschrieben in diesem code weerden die variaben f eine sql ...

Windows 10
Großes Problem!
gelöst Frage von L.0.B.0.TWindows 1022 Kommentare

Ich habe Windows im sicheren Modus gestartet, alles läuft normal ausser das nur cmd gestartet wir und ich keine ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 4 StundenWindows 10

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 6 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 20 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte15 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...