Hallo!
Ich habe ein kleines Kontaktformular welches Name und Text an einen vorher Festgelegten Absender schickt. Nun möchte ich das man dazu noch eine Datei anhängen kann, die an mit an die Email angehangen wird. Ich habe einen PHP Mailer. Bis zum Dateiupload funktioniert alles. Also Namen sowie Text werden übertragen, aber es scheitert am Dateiupload. Ich bitte um Hilfe, was kann ich machen damit die Datei an die Email angehangen wird? Ich poste hier mal die beiden Codes... Bitte helft mir!
CODE FORMULAR (mail.php):
https://pastebin.com/p8yp9zZW
CODE PHP MAILER (mailer-engine.php)
<?php
// ======= Konfiguration:
$mailTo = $_POST['Empfänger'];
$mailFrom = 'Schüler der Klasse 9-3 <****@***.de>';
$mailSubject = 'Email von einem Schüler der Klasse 9-3 [Weitergeleitet über Notfallcloud der Klasse 9-3]';
$returnPage = 'form_erfolg.html';
$returnErrorPage = 'form_fehler.html';
$mailText = "";
// ======= Text der Mail aus den Formularfeldern erstellen:
// Wenn Daten mit method="post" versendet wurden:
if(isset($_POST)) {
// alle Formularfelder der Reihe nach durchgehen:
foreach($_POST as $name => $value) {
// Wenn der Feldwert aus mehreren Werten besteht:
// (z.B. <select multiple>)
if(is_array($value)) {
// "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ":\n";
// alle Werte des Feldes abarbeiten
foreach($valueArray as $entry) {
// Einrückungsleerzeichen, Wert und Zeilenumbruch
// dem Mailtext hinzufügen
$mailText .= " " . $value . "\n";
} // ENDE: foreach
} // ENDE: if
// Wenn der Feldwert ein einzelner Feldwert ist:
else {
// "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ": " . $value . "\n";
} // ENDE: else
} // ENDE: foreach
} // if
// ======= Korrekturen vor dem Mailversand
// Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt:
if(get_magic_quotes_gpc()) {
// eventuell eingefügte Backslashes entfernen
$mailtext = stripslashes($mailtext);
}
// ======= Mailversand
// Mail versenden und Versanderfolg merken
$mailSent = @mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);
// ======= Return-Seite an den Browser senden
// Wenn der Mailversand erfolgreich war:
if($mailSent == TRUE) {
// Seite "Formular verarbeitet" senden:
header("Location: " . $returnPage);
}
// Wenn die Mail nicht versendet werden konnte:
else {
// Seite "Fehler aufgetreten" senden:
header("Location: " . $returnErrorPage);
}
// ======= Ende
exit();
?>