mailer: Probleme bei Mail mit Anhang

Hallo,

zu diesem Thema gibt es sicherlich schon etliche Postings, aber ich komme trotzdem nicht so recht weiter. Ich möchte eine Mail mit Anhang verschicken. Für das Skript habe ich mich an diese Anleitung gehalten. Soweit funktioniert es, nur dass der Anhang nicht als solcher "erkannt wird" -> d.h. er erscheint als Text am Ende der Mail. In etwa so:

-------=325f14a42d9ec0f2826c0b8af76bd0f2  
Content-Type: text/html charset="iso-8859-1"  
Content-Transfer-Encoding: 8bit  
  
Textnachricht [...]  
  
-------=325f14a42d9ec0f2826c0b8af76bd0f2  
Content-Disposition: attachment;  
filename="Winter.jpg";  
Content-Length: .;  
Content-Type: image/jpeg; name="Winter.jpg"  
Content-Transfer-Encoding: base64  
  
/9j/4AAQSkZJRgABAgEAYABgAAD/7RBKUGhvdG9zaG9wID [...]

Woran liegt das? Was ist falsch?

Danke und Grüße!

  1. Hallo,

    irgendwelche falschen Absätze eingebaut. Filesize nicht korrekt angegeben?

    Nimm doch http://pear.php.net/package/Mail

    oder das Mailpackage von Zend-Framework.

    Gruß

    jobo

    1. Hallo,

      irgendwelche falschen Absätze eingebaut. Filesize nicht korrekt angegeben?

      Die Filesize wird über $_FILES ermittelt. Wie meinst Du das mit den Absätzen?

      Nimm doch http://pear.php.net/package/Mail

      Mache ich _eigentlich_ auch, aber bei diesem speziellen Projekt (noch) nicht ...

      Grüße!

      1. Hi,

        Wie meinst Du das mit den Absätzen?

        Er meint vermutlich die Zeilenumbrüche.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Hallo,

          Er meint vermutlich die Zeilenumbrüche.

          Da war tatsächlich ein Fehler im Skript, jetzt ist die "Content-Length" korrekt. Aber Funktionen tut's immer noch nicht.

          Meinst Du Zeilenumbrüche im Content oder im Header?

          Das ganze sieht jetzt so aus, vielleicht ist da auch noch ein Fehler???

          -------=d04b82b1aa2ce9a8fbaaaea91bc90c28
          Content-Type: text/html; charset="iso-8859-1"
          Content-Transfer-Encoding: 8bit

          [...]

          -------=d04b82b1aa2ce9a8fbaaaea91bc90c28
          Content-Disposition: attachment;
          filename="Wasserlilien.jpg";
          Content-Length: 83794;
          Content-Type: image/jpeg; name="Wasserlilien.jpg"
          Content-Transfer-Encoding: base64

          Grüße!

          1. Hi,

            Meinst Du Zeilenumbrüche im Content oder im Header?

            Vornehmlich im Header-Part der Mail.
            Per Definition ist dort \r\n zu benutzen; manche MTAs sind allerdings so konfiguriert, dass sie \n automatisch zu \r\n umschreiben, so dass dann letztendlich Unfug herauskommt.

            Und der erste doppelte Zeilenumbruch beendet den Header, und beginnt den Body.

            Das ganze sieht jetzt so aus

            Daran hier nicht zu erkennen, wie die Zeilenumbrüche aussehen.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
            1. Hallo,

              Und der erste doppelte Zeilenumbruch beendet den Header, und beginnt den Body.

              Aha ...

              Daran hier nicht zu erkennen, wie die Zeilenumbrüche aussehen.

              Stimmt - ich dachte nur, vielleicht ist da noch ein Nicht-Zeilenumbruch-Fehler ;)

              Ich habe jetzt gefunden, woran es lag: Hatte aus Versehen noch ein "Content-Type: text/plain" im Header stehen :| Das stammte doch aus einer anderen Funktion zum Verschicken ohne Anhang. Jetzt geht's.

              Vielen Dank trotzdem an alle!

              Grüße!

      2. Hallo,

        Hallo,

        irgendwelche falschen Absätze eingebaut. Filesize nicht korrekt angegeben?

        Die Filesize wird über $_FILES ermittelt. Wie meinst Du das mit den Absätzen?

        Die Header einer Mail müssen korrekt durch Absätze getrennt sein. Machst du zwei Absätze, gerät das Protokoll aus dem Tritt, würde ich meinen. Denn kriegst Du den Rest u.U. als Text.

        Nimm doch http://pear.php.net/package/Mail

        Mache ich _eigentlich_ auch, aber bei diesem speziellen Projekt (noch) nicht ...

        Naja, aber ist doch keine Mühe. Mail runterladen und hochladen und benutzen würde ich sagen. Spart Zeit.

        Gruß

        jobo