Attachment mit mail() ....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Sorry, wie soll ich dir helfen, wenn du immer meine Vorschläge veränderst und dann nicht den Code postest?? Vielleicht baust du durch deine Änderungen ja gerade den Fehler ein?

    Hast du mal der Anfang des Headers so wie bei mir gelassen, also nur ein From: und ohne Leerzeichen?

    Und wie kommt die email bei dir an? Hab ich nicht ganz verstanden, was du da meinst...

    Was ist denn dein Attachment? Wie groß? Welche Art?

    Kommentar


    • #17
      Ich habe im moment leider keine zeit das script nochmal zu posten, aber um es noch mal kurz zu erklären:
      - Ich habe from so verändert wie du es gesagt hast.
      - Die Email kommt als Text an. also alles was im Header stehen soll steht im Text.
      mail() sieht bei mir jetzt so aus:
      mail("$email","$betreff","",$mail_header);

      Kaffi
      Kaffi
      Errare humanum est

      W32.Schmalle.H@mm

      Kommentar


      • #18
        wenn die email ankommt, aber alles als Text in der Email auftaucht, stimmt die Codierung nicht bzw. der Header ist falsch -> definition des Headers hat Fehler, weshalb wohl die Email falsch dargestellt wird.

        Also doch nochmal posten, sorry.

        Kommentar


        • #19
          Nochmal das Script:

          <?php

          $pic = "bild.jpg";
          $email = "tester1@mail.de";
          $betreff = "Test";
          $mailtext = "Text ....";

          $fsize = filesize($pic);
          $faus = fopen("$pic","r");
          $file = fread($faus,$fsize);
          fclose($faus);

          $msg = $msg.$mailtext;
          $msg = trim($msg);
          $boundary = strtoupper(md5(uniqid(time())));
          $file = chunk_split(base64_encode($file));

          $mail_header = "From:name@mailserver.de";
          $mail_header .= "\nMIME-Version: 1.0";
          $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
          $mail_header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
          $mail_header .= "\n--.$boundary";
          $mail_header .= "\nContent-Type: text/plain";
          $mail_header .= "\nContent-Transfer-Encoding: 8bit";
          $mail_header .= "\n\n$msg";
          $mail_header .= "\n--.$boundary";
          $mail_header .= "\nContent-Type: image/jpeg; name=\"".$pic."\"";
          $mail_header .= "\nContent-Transfer-Encoding: base64";
          $mail_header .= "\nContent-Disposition: attachment; filename=\"".$pic."\"";
          $mail_header .= "\n\n".$file;

          mail("$email","$betreff","",$mail_header);

          ?>

          Kaffi
          Kaffi
          Errare humanum est

          W32.Schmalle.H@mm

          Kommentar


          • #20
            Ich hoffe, ich habe den Fehler gefunden:

            $mail_header .= "\n--.$boundary";

            MUSS

            $mail_header .= "\n--".$boundary;

            heissen. Sonst hast du einen Punkt vor dem Trenner der Attachments, welcher aber ohne definiert wurde.

            Falls das jetzt noch immer nicht funktioniert (ist dann nämlich wirklich mit meinem Code identisch), dann poste bitte mal den Header der empfangenen eMail, okay?

            Kommentar


            • #21
              Es hat geklappt!!!

              Obs am boundary lag weiß ich nicht. Nach deiner letzten antwort hatte ich das geändert und es kam zwar wieder richtig an aber das bild war immernoch falsch dargestellt.

              Jetzt habe ich noch über eine Stunde experimentiert.
              Und nun geht es und ich weiß nicht warum.
              Verändert habe ich fast nichts...
              Hauptsache es geht!

              Vielen Dank für eure Hilfe!!!!!

              Kaffi
              Kaffi
              Errare humanum est

              W32.Schmalle.H@mm

              Kommentar

              Lädt...
              X