kostenloser Webspace werbefrei: lima-city


Formmailer + Dateianhang

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ravenc

    ravenc hat kostenlosen Webspace.

    Also folgendes Problem:
    Ich habe einen Formmailer gebastelt. Ich m?chte aber noch einen Dateiupload dazu haben. Die formmail.php sieht wie folgt aus:

    <form action="senden.php" target="_kontakt" method="post">
    <table>
    <tr>
      <td valign="top">Name:</td>
    <td><input type="text" name="name" maxlength="64" size="39"></td>
    </tr>
    <tr><td valign="top">E-Mailadresse:</td>
    <td><input type="text" name="emailadresse" maxlength="64" size="39"></td></tr>
    <tr>
      <td valign="top">Betreff:</td>
    <td><input type="text" name="betreff" maxlength="64" size="39"></td>
    </tr>
    <tr>
      <td valign="top">Ihre Nachricht:</td>
    <td><textarea name="nachricht" cols="40" rows="9"></textarea></td>
    </tr>
    <tr>
      <td valign="top">Datei anh?ngen:</td>
    <td colspan="4"><input type="file" name="mm_file"></td>
    </tr>
    <tr><td>Abschicken?</td>
    <td><input type="Submit" value="verschicken"></td></tr>
    </table></form>


    Die senden.php sieht so aus:
    <?php
    $emailadresse = (!empty($_POST['emailadresse'])) ? $_POST['emailadresse'] : 
    'maildeamon@xxxx.de';
    
    $betreff = (!empty($_POST['betreff'])) ? $_POST['betreff'] : '';
    $bruch = "\r\n";
    $str = '__________________________________________________';
    $date = getdate();
    
    $nachricht = (!empty($_POST['nachricht'])) ? $_POST['nachricht'] : '';
    if ($nachricht == '')
    {
    echo 'Bitte geben Sie eine Nachricht ein.';
    } else {
    
    
    mail('xxx@xxx.de', '[Mail] ' . $betreff, 'Name: ' . $name . $bruch . 'Betreff: ' . $betreff . $bruch . 'Am: ' . $date["mday"] .".". $date["mon"] .".". $date["year"] . ' | Um: ' . $date["hours"] ." Uhr ". $date["minutes"] . $bruch . $str . $bruch. $name . ' teilt ihnen folgendes mit: ' . $bruch . $bruch  . $nachricht, 'From: ' . $emailadresse);
    echo 'Die Nachricht wurde verschickt.';
    }
    ?>


    Wie muss ich den Dateianhang in die senden.php einbauen, sodass die angeh?ngt datei aus formmail.php mitgesendet wird?
    Hatte da ein bisschen rumprobiert, kam aber auf keinen Gr?nen Zweig :(
    Please Help
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s*********e

    http://www.coding-net.de/php/e-mail/2_funktion_um_eine_html_e-mail_mit_dateianhang_zu_verschicken.html


    tipp: <form action="senden.php" target="_kontakt" method="post" enctype="multipart/form-data">

    enctype="multipart/form-data" --> Datenupload wird erm?glicht


    mfg

    dune
  4. Du musst auf jeden Fall eine Multipart-Nachricht erzeugen. Am besten, du schaust dir mal Quelltexte von Mails mit ANhang an.
    Ich hatte mal angefangen eine Mail-Klasse zu schreiben. MAl ein Auszug daraus, der dir helfen k?nnte:
    function add_attachment($att,$type,$filename,$charset="ISO-8859-1") {
        $att = chunk_split(base64_encode($att),72,"\n");
        $this->addbody("Content-Transfer-Encoding: base64\n");
        $this->addbody("Content-Type: $type;\n name=\"$filename\"\n");
        $this->addbody("Content-Disposition: attachment;\n filename=\"$filename\"\n");
        $this->addbody("\n");
        $this->addbody("$att");
        $this->addbody("\n");
        $this->addbody("--{$this->boundary}\n");
      }


    Edit: Du musst nat?rlich noch definieren, dass es eine Multipart-NAcricht ist:
    elseif ($type == "multipart") {
          $this->boundary .= "nextpart_".md5(time());
          $this->addheader("Mime-Version","1.0");
          $this->addheader("Content-Type","multipart/mixed;\n	boundary=\"".$this->boundary."\""); $this->addbody("This is a multipart message in mime format.\n\n");


    Beitrag ge?ndert am 23.03.2006 17:21 von phattek
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!