Datei zu PHP Formmailer anhängen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

1) Deine Abfrage, ob es überhaupt Daten im Request Body gibt, kommt etwas spät.

$mailTo = $_POST['Empfänger'];

// ...

if (isset($_POST))

2) Die Leerzeichen in name und id sind ungünstig. Setze zumindest Bindestriche dazwischen. Die Umlaute aus solchen Attributen würde ich im Übrigen auch besser entfernen bzw. ersetzen (gegen ae, oe, ue, ss).

<input type="file" name="Angehängte Datei" id="Angehängte Datei"><br /><br />

3) Ich sehe nicht, dass du irgendwo die Datei über $_FILES entgegennehmen würdest. Von daher ist es kein Wunder, wenn keine Datei hochgeladen wird.

Die einfachste Form eines Upload kann so aussehen: PHP Datei Upload simples code snippet?. Die verzichtet allerdings noch gänzlich auf irgendeine Validation. Beschäftige dich also mit $_FILES und Dateioperationen. Beschränke beispielsweise die Dateigröße und den Dateityp. Weiteres zu möglichen Sicherheitsmaßnahmen und -lücken kannst du hier nachlesen:

3) Nutze PHPMailer, um deine E-Mail abzuschicken. Diese Bibliothek hat auch schon eine Methode parat, um Dateianhänge mit zu versenden.


regex9  05.01.2021, 09:00

Ach, noch etwas zu 1): $_POST ist superglobal und somit auch präsent, wenn nichts drin steht. Nutze entweder empty oder prüfe auf ein bestimmtes, erwartetes Feld.

0
speedwanted55 
Fragesteller
 13.01.2021, 11:55

Dankeschön! Hat mir sehr geholfen!

0

Der Dateiupload läuft ja unabhängig vom Mailversand vorab. Also schau im Netz nach PHP File Upload Tutorials - gibts wie Sand am Meer. Danach musst du eine Multipart E-Mail erstellen und versenden. Dafür musst du dich mit den E-Mail Spezifikationen aber wirklich gut auskennen.


speedwanted55 
Fragesteller
 04.01.2021, 18:55

Muss dann nicht aber die Datei an die Email angehangen werden? Wie erstellt man denn so eine Multipart Email?

0
showgirl1  04.01.2021, 19:07
@speedwanted55

Ich seh grad: Das Leerzeichen im name Attribut des Upload Feldes ist nicht so hilfreich.

Wenn die Datei auf dem Server ist kannst du sie auch anhängen.

Da hab ich dir ja geschrieben, dass das nicht so einfach ist, wie einen einfachen Text per Mail zu Versenden. Dafür musst du dich schon ordentlich in das Thema einarbeiten.

0