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.
dann weiter im Skript, wo die Mail erzeugt wird
So hier schaut die erzeugte "termin.ics" Datei auf dem Server aus:
und so hier sieht der Dateiinhalt aus, wenn er beim Empfänger ankommt:
Wie man sehen kann, fehlt folgender Teil am Anfang der Datei:
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
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()));
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);
...
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
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
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FO
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
Kommentar