• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP-Mailer - Dateiupload

ein Ivan ^-^

Mitglied
Hallo Community!

Da ich zur Zeit eine Website für die Firma in welcher ich arbeite programmiere, benötigt jene natürlich auch diverse Formulare. Die, die ich bis jetzt erstellt habe, funktionieren auch einwandfrei (Ich habe den Mailer im "Head" der betreffenden Seite eingebunden), die E-Mails werden mir ohne probleme zugesendet (Ich habe den Mailer aus einem Internet Forum kopiert). Nun steh ich vor einer Aufgabe, die ich leider alleine nicht lösen kann - Ich soll für eine Seite, die ein Formular für Daten zum Gebrauchtwagenankauf beinhaltet einen Bilderupload einrichten. Nun weis ich nicht welchen "Input type" ich verwenden muss, und welches Script ich in den Mailer im "Head" einbinden muss, damit mir das/die Bild/er zugesendet wird/werden.

Hier der, im Header eingebundene PHP-Mailer:

PHP:
<?php

/**
* Konfiguration
*
* Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
*
* Das Skript bitte in UTF-8 abspeichern (ohne BOM).
*/
// An welche Adresse sollen die Mails gesendet werden?
$zieladresse = '****';

// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$absenderadresse = '****';

// Welcher Absendername soll verwendet werden?
$absendername = 'Website';

// Welchen Betreff sollen die Mails erhalten?
$betreff = 'Gebrauchtwagenankaufsanfrage';

// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'Formular-versendet.html';

// Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$trenner = ":\t"; // Doppelpunkt + Tabulator

/**
* Ende Konfiguration
*/




if ($_SERVER['REQUEST_METHOD'] === "POST") {

    $header = array();
    $header[] = "From: ".mb_encode_mimeheader($absendername, "utf-8", "Q")." <".$absenderadresse.">";
    $header[] = "MIME-Version: 1.0";
    $header[] = "Content-type: text/plain; charset=utf-8";
    $header[] = "Content-transfer-encoding: 8bit";
   
    $mailtext = "";

    foreach ($_POST as $name => $wert) {
        if (is_array($wert)) {
            foreach ($wert as $einzelwert) {
                $mailtext .= $name.$trenner.$einzelwert."\n";
            }
        } else {
            $mailtext .= $name.$trenner.$wert."\n";
        }
    }

    mail(
        $zieladresse,
        mb_encode_mimeheader($betreff, "utf-8", "Q"),
        $mailtext,
        implode("\n", $header)
    ) or die("Die Mail konnte nicht versendet werden.");
    header("Location: $urlDankeSeite");
    exit;
}

header("Content-type: text/html; charset=utf-8");
?>
 
Werbung:
Hallo Community!

Da ich zur Zeit eine Website für die Firma in welcher ich arbeite programmiere, benötigt jene natürlich auch diverse Formulare. Die, die ich bis jetzt erstellt habe, funktionieren auch einwandfrei (Ich habe den Mailer im "Head" der betreffenden Seite eingebunden), die E-Mails werden mir ohne probleme zugesendet (Ich habe den Mailer aus einem Internet Forum kopiert). Nun steh ich vor einer Aufgabe, die ich leider alleine nicht lösen kann - Ich soll für eine Seite, die ein Formular für Daten zum Gebrauchtwagenankauf beinhaltet einen Bilderupload einrichten. Nun weis ich nicht welchen "Input type" ich verwenden muss, und welches Script ich in den Mailer im "Head" einbinden muss, damit mir das/die Bild/er zugesendet wird/werden.

Hier der, im Header eingebundene PHP-Mailer:

PHP:
<?php

/**
* Konfiguration
*
* Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
*
* Das Skript bitte in UTF-8 abspeichern (ohne BOM).
*/
// An welche Adresse sollen die Mails gesendet werden?
$zieladresse = '****';

// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$absenderadresse = '****';

// Welcher Absendername soll verwendet werden?
$absendername = 'Website';

// Welchen Betreff sollen die Mails erhalten?
$betreff = 'Gebrauchtwagenankaufsanfrage';

// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'Formular-versendet.html';

// Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$trenner = ":\t"; // Doppelpunkt + Tabulator

/**
* Ende Konfiguration
*/




if ($_SERVER['REQUEST_METHOD'] === "POST") {

    $header = array();
    $header[] = "From: ".mb_encode_mimeheader($absendername, "utf-8", "Q")." <".$absenderadresse.">";
    $header[] = "MIME-Version: 1.0";
    $header[] = "Content-type: text/plain; charset=utf-8";
    $header[] = "Content-transfer-encoding: 8bit";
 
    $mailtext = "";

    foreach ($_POST as $name => $wert) {
        if (is_array($wert)) {
            foreach ($wert as $einzelwert) {
                $mailtext .= $name.$trenner.$einzelwert."\n";
            }
        } else {
            $mailtext .= $name.$trenner.$wert."\n";
        }
    }

    mail(
        $zieladresse,
        mb_encode_mimeheader($betreff, "utf-8", "Q"),
        $mailtext,
        implode("\n", $header)
    ) or die("Die Mail konnte nicht versendet werden.");
    header("Location: $urlDankeSeite");
    exit;
}

header("Content-type: text/html; charset=utf-8");
?>

http://www.php-einfach.de/codeschnipsel_1114.php

Wesentlich einfacher und besser wäre allerdings eine Mailerklasse zu verwenden, statt der mail()-Funktion. zB Swiftmailer
 
Zurück
Oben