Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem: Email Anhang (chunk_split) funktioniert nicht wie erwartet?

Einklappen

Neue Werbung 2019

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

  • Problem: Email Anhang (chunk_split) funktioniert nicht wie erwartet?

    Hallo Forengemeinde,

    ich erstelle nach dem Absenden eine Kontaktformulares eine ICS (iCalendar) Datei mit einem Termin. Diese Datei möchte ich als Anhang in der Mail mitschicken. Soweit funktioniert auch alles. Mein Problem ist aber, dass die ICS Datei nicht richtig übermittelt wird. D.h. am Anhang fehlen einige Zeilen, welche das Öffnen dann unmöglich machen.

    Auf dem Server wird die Datei richtig erstellt, d.h. wenn ich mir die ICS vom Server lade, lässt sie sich öffnen und es steht alles wie erwartet drinnen. Nur nach der Übermittlung per Email fehlt ein Teil des Dateiinhaltes.

    PHP-Code:
    $mimetype_anhang "text/Calendar";
    $wiedervorlage_filename ="termin.ics";
    $anhang chunk_split(base64_encode(file_get_contents($wiedervorlage_filename )));
    $boundary md5(uniqid(time())); 
    dann weiter im Skript, wo die Mail erzeugt wird
    PHP-Code:
    ...
    $mail_header "MIME-Version: 1.0\r\n";
    $mail_header .= "Content-Type: multipart/mixed; \n\t boundary=".$boundary."\r\n";
    $mail_header .= 'From: ' $trial_Email "\n";
    $mail_header .= 'Reply-To: no_reply@meineadresse.de\r\n';
    $mail_header .= 'Cc:' "\r\n";
    $mail_header .= 'X-Mailer: PHP/' phpversion();

    $body "\n--" $boundary "\r\n";
    $body .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
    $body .= "Content-Transfer-Encoding: 8bit\r\n";
    $body .= "\n<p>Hier steht meine <i>HTML</i> Nachricht</p>.\r\n";
    $body .= "\n--" $boundary "\r\n";
    $body .= "Content-Type: " $mimetype_anhang "; name=\"" $wiedervorlage_filename "\"\r\n";
    $body .= "Content-Transfer-Encoding: base64\r\n";
    $body .= "Content-Disposition: attachment\r\n" $anhang;
    $body .= "\n--".$boundary."--\n";

    mail("empfaenger@email.com""Testemail"$body$mail_header);
    //unlink($wiedervorlage_filename);
    ... 
    So hier schaut die erzeugte "termin.ics" Datei auf dem Server aus:
    Code:
    BEGIN:VCALENDAR
    VERSION:2.0
    METHOD:PUBLISH
    X-MS-OLK-FORCEINSPECTOROPEN:TRUE
    
    BEGIN:VEVENT
    CLASS:PUBLIC
    20140528:20140528
    DESCRIPTION:Hi Empfaenger\,\n\ndies ist die Erinnerung\, um nach 2 Wochen einmal auf den Termin hinzuweisen.\n\n
    DTEND;TZID="W. Europe Standard Time":20140607T120000
    DTSTAMP:20140528T092055Z
    DTSTART;TZID="W. Europe Standard Time":20140607T113000
    LOCATION:Irgendwo mit Email-Verbindung
    PRIORITY:5
    SEQUENCE:0
    SUMMARY;LANGUAGE=de:Wiedervorlage Erinnerung
    BEGIN:VALARM
    TRIGGER:-PT5M
    ACTION:DISPLAY
    DESCRIPTION:Reminder
    END:VALARM
    END:VEVENT
    END:VCALENDAR
    und so hier sieht der Dateiinhalt aus, wenn er beim Empfänger ankommt:
    Code:
    RCEINSPECTOROPEN:TRUE
    
    BEGIN:VEVENT
    CLASS:PUBLIC
    20140528:20140528
    DESCRIPTION:Hi Volker\,\n\ndies ist die Erinnerung\, um nach 2 Wochen einmal bei mario fliegner TEST nachzufragen\, ob er mit connexas klar kommt bzw. er Hilfe be
    	nötigt.\n\n
    DTEND;TZID="W. Europe Standard Time":20140607T120000
    DTSTAMP:20140528T092055Z
    DTSTART;TZID="W. Europe Standard Time":20140607T113000
    LOCATION:Irgendwo mit Email-Verbindung
    PRIORITY:5
    SEQUENCE:0
    SUMMARY;LANGUAGE=de:Wiedervorlage connexas Order: CONNEXAS20121120-22
    BEGIN:VALARM
    TRIGGER:-PT5M
    ACTION:DISPLAY
    DESCRIPTION:Reminder
    END:VALARM
    END:VEVENT
    END:VCALENDAR
    Wie man sehen kann, fehlt folgender Teil am Anfang der Datei:
    BEGIN:VCALENDAR
    VERSION:2.0
    METHOD:PUBLISH
    X-MS-OLK-FO

    Ich vermute, dass es an dem chunk_split liegt? Vielleicht aber auch am Versenden des Anhanges in der mail() Funktion?
    Hat einer von euch vielleicht eine Idee, woran es liegen könnte, und wie ich das Problem in den Griff bekommen kann?

    Vielen Dank!
    Itzamna

  • #2
    Nutz eine Mailer-Klasse, dann musst du dich nichtmehr selbst um sowas kümmern und damit rumschlagen.
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Es gibt ja mailerklassen...
      sonst les mal.
      http://xhtmlforum.de/70788-mailanhang-und-ical.html

      Kommentar

      Lädt...
      X