Wie versendet man ICS Kalendereinladungen als MIME Content-Type: text/calendar ?

  • Um Rückfragen vorzubeugen, bitten wir um folgende Angaben:
    * Thunderbird-Version:38.1.0
    * Lightning-Version:4.0.1.2
    * Betriebssystem + Version:Windows 7 pro 64 bit
    * Eingesetzte Antivirensoftware:F-Secure Internet Security
    * Firewall (Betriebssystem-intern/Externe Software):F-Secure Internet Security


    Guten Tag,


    wenn man Mails mit ics-Dateien als MIME-Anhänge erhält (Einladungen mit Kalendereintrag), erkennt Thunderbird&Lightning diesen Anhang nur "richtig", wenn der Anhang als MIME-Typ "Content-Type: text/calendar" versendt wurde (dies ist so zu lesen in der Mail Source zur Mail - Ctrl-U). In diesem Fall bekommt man oberhalb der Mail eine Leiste angezeigt mit Knöpfen, die anbietet, den erkannten Termin in einen eigenen Kalender aufzunehmen. Vgl. das beigefügte Bild, wie das aussieht.


    Ich erhielt regelmäßig solche Einladungen, bis der betreffende Absender sein System wechselte und dabei von TB 17.0.11esr auf TB 31.2.0 ging. Seitdem erhalte ich seine Mailanhänge als MIME-Typ "Content-Type: text/plain". Er behauptet, nichts am Weg geändert zu haben, wie er Mails versendet. Er hat eine Mail, die er als Vorlage verwendet, an die er die aktuelle ICS-Einladung anhängt.



    Bei meinen eigenen Untersuchungen (seit TB 31.7.0) stelle ich fest, daß eine an eine leere neue Mail direkt angehängte ICS-Datei stets als MIME-Typ "Content-Type: text/plain" versandt wird. Ich sehe für den Nutzer keine Möglichkeit, andere MIME-Typen anzumelden. Wenn ich jedoch diese Mail als Entwurf abspeichere, händisch mit einem Editor in der gespeicherten Datei (Message source) den MIME-Type von "plain" auf "calendar" ändere, erkennt TB sofort den Kalendertermin und zeigt mir die Leiste an! Es liegt also ausdrücklich am MIME-Content-Type!


    Wenn ich in Lightning einen Termin anlege und weitere Teilnehmer dem Termin hinzufüge wird keine entsprechende Mail in diesem MIME-Format erzeugt; diese Mails sehen ganz anders aus.


    Also frage ich in die Runde: wie kann man, möglichst mit Thunderbird, und ohne Editor-Hacks, eine ICS-Datei ausdrücklich als MIME-Type "Content-Type: text/calendar" versenden?


    Vielleicht hatte TB früher eine automatische Erkennung des Dateitypes und paßte den MIME-Content-Type an? Der Absender wußte von keinen besonderen Einstellungen, die er damals bei TB 17.0.11esr gemacht haben sollte. Vielleicht war seine Vorlage auch nur anders (besser) erstellt?


    Der jetzige Weg ist lästig, da ich ICS-Anhänge stets abspeichern und in den Kalender importieren muß. Es muß doch einen Weg geben, den "eigentlichen Weg" zu beschreiten!


    Internetsuchen und auch eine Anfrage bei support.mozilla.org führten zu keinem Erfolg.


    Danke für Hinweise und Ratschläge!

  • Hallo Akebinko,
    wenn man Einladungen verschickt, kommt immer die Frage:

    hier sollte der Haken vor Outlook 2000 ... gesetzt sein.
    Frage den Absender wie er die Einladung verschickt, am besten zwei Einladungen verschicken lassen einmal mit Haken und einmal ohne.


    wenn man Mails mit ics-Dateien als MIME-Anhänge erhält (Einladungen mit Kalendereintrag), erkennt Thunderbird&Lightning diesen Anhang nur "richtig", wenn der Anhang als MIME-Typ "Content-Type: text/calendar" versendt wurde

    Das ist bei mir der Fall wenn der Haken gesetzt ist.


     
    Gruß
     EDV-Oldi

  • Hallo zusammen,


    es ist nicht unwahrscheinlich, dass hier Unterschiede zwischen Thunderbird-Versionen auftreten können, denn rund um den Bereich Termineinladungen wurde während der letzten Releases wiederholt gearbeitet. Hier ist der Status quo, den ich mit meinem Thunderbird 38.1 und Lightning 4.1.0.2 beobachten kann, wenn ich den Quelltext einer simplen Mail mit Anahng und den einer echten Termineinladung vergleiche:
    Wenn ich eine Mail erstelle und eine .ics-Datei manuell als Anhang beifüge, dann wird diese .ics.Datei im Quelltext automatisch mit
    Content-type: text/calendar; versehen. Beim Empfänger wird die Mail ganz normal dargestellt, als Mail mit einem Anhang. So würde ich mir das auch wünschen, denn nicht immer will ich eine Termininformation gleich meinem Kalender hinzufügen - vielleicht dient der Anhang ja auch nur klassisch zur Information.


    Ob die Imip-Bar zum Managen einer Einladung angezeigt wird, liegt wohl nicht einfach nur am Content-Type, sondern v.a. an der Zeile
    method=REQUEST;. Die dazu gehörende Struktur (es geht um mehr als diese eine Zeile) erhält eine Mail, wenn man zu Terminen einlädt (Termindialog --> Teilnehmer einladen),dafür hat Lightning die Funktion ja erhalten. Händisch ist das mit den aktuellen Versionen m.W. nicht zu bewerkstelligen.


    Ich muss zugeben, dass ich diese Imip-usw-Funktionen/Standards für relativ komplex halte und da kein Experte für bin. Aber ich halte es für wahrscheinlich, dass Thundebird 38.1.0 für die Imip-Bar eben 'echte' Einladungen erwartet und die einfache Anhang-Methode dafür nicht mehr funktioniert. Entsprechende Tests mit historischen Versionen sind mir jetzt zu umständlich. :-)


    Schöne Grüße
    Robert

  • Hallo erstmal an Euch beide und schon mal vielen Dank, daß Ihr Euch des Themas angenommen habt und so schnell geantwortet habt!


    Ich weiß nicht, wie, aber das Verhalten auch meines TB&L hat sich tatsächlich wieder etwas geändert, was hoffentlich zu Roberts Aussage paßt, daß das im Fluß ist (und nicht, daß ich nicht richtig getestet habe).


    EDV-Oldi: nun konnte ich tatsächlich eine gute Einladung erstellen, indem ich einen Termin im Home-Kalender (lokal) erstellte und als Teilnehmer mich selbst (E-Mail-Adresse) hinzufügte. Sowohl mit als auch ohne gesetztem Haken wurden die eingehenden Mails korrekt als Kalendereinladungen erkannt.
    Mit gesetztem Haken gibt es keine ausdrückliche ICS-Datei , die ganze Mail an sich ist dann praktisch die Einladung und im Mail Header steht schon das "Content-type: text/calendar".
    Ohne Haken kommt ausdrücklich eine ICS-Datei als Anhang mit, die man abspeichern kann.
    Vorher hatte ich immer den Haken gesetzt und somit nie ein MIME-Attachment erhalten, so daß ich diesen Weg insgesamt ausschloß.
    Hierauf kann ich aufbauen, danke!


    Robert:

    rb schrieb:

    Wenn ich eine Mail erstelle und eine .ics-Datei manuell als Anhang beifüge, dann wird diese .ics.Datei im Quelltext automatisch mit Content-type: text/calendar; versehen.


    Mein Kollege versendet gerne eine HTML-Mail, an die er eine vorfabrizierte ICS-Datei anhängt. Das wäre ähnlich dem Weg, den Du beschreibst: eine ICS-Datei an eine Mail anhängen. Bei mir klappt das aber nicht: wenn ich eine Mail mit Dummytext an mich selber sende und die ICS-Datei anhänge, die ich aus der zweiten Mail des obigen Absatzes abgespeichert habe, dann kommt die Mail mit "Content-Type: text/plain" an und wird folglich nicht als Einladung erkannt.





    --------------010601070006010603030804Content-Type: text/plain; charset=UTF-8; name="invite.ics"Content-Transfer-Encoding: base64Content-Disposition: attachment; filename="invite.ics"


    Wie genau erstellt Du Deine Mail, daß sie "calendar" versendet?


    Die Einträge zu method=REQUEST waren mir auch aufgefallen, aber als ich sah, daß die Einladungen meines Kollegen wild gemischt mit REQUEST oder PUBLISH eingingen, aber die Einladung streng nur anhand des Content:calendar erkannt wurde, habe ich method als irrelevant empfunden und ignoriert.


    Beim Erstellen eines Termins sehe ich ohnehin keine Möglichkeit, MIME-Einstellungen zu beeinflussen oder gar den Termin als ICS abzuspeichern. Mein Kollege erstellt seine ICS-Dateien mit Outlook, bevor er die Einladungen mit TB&L versendet.


    Grüße
    Akebinko

  • Hallo Akebinko,


    Wie genau erstellt Du Deine Mail, daß sie "calendar" versendet?

    dazu fällt mir leider nichts Besseres als "Ganz normal" ein :-) : Egal ob als reine Textnachricht oder als HTML-Mail - ich klicke Verfassen, schreibe Text und ziehe eine .ics-Datei vom Desktop in den Anlage-Bereich des Dialogs. Unspektakulär. In beiden Fällen erhalte ich laut Strg+U den Content-type: text/calendar für den .ics-Teil der eingehenden Mail. Ich habe eben auch noch einmal die diversen Einstellungen-Dialoge von Thunderbird und Lightning durchstöbert, aber ich finde leider nichts, was hierfür extra verantwortlich sein könnte. Auch das Deaktivieren von Erweiterungen wie dem SOGo Connector hat keine Änderungen gebracht. Ich hätte daher wirklich vermutet, dass das mit dem aktuellen Thunderbird/Lightning-Päckchen immer so ist.
    MIr fällt nur noch auf, dass ich Content-Transfer-Encoding: 8bit für die .ics im Quelltext stehen habe, bei allen meinen Testmails. Das wäre noch eine Abweichung gegenüber dem, was du geschrieben hast (base64). Aber womit das zusammenhängt und wie es sich beeinflussen lässt, weiß ich leider auch nicht. :-(


    Schöne Grüße
    Robert

  • Hallo Robert,


    ich wollte mich mal für Deine Antwort bedanken.


    Ich brauchte so lange, denn ich kam nicht weiter. Ich stehe vor einem Rätsel, denn mein Thunderbird bekommt es nicht hin, diesen beigefügten Termin (als Beispiel) als calendar zu erkennen und versenden.


    Ich habe es ebenso wie Du angefangen, habe vorher sogar mal sicherheitshalber TB im Safe Modus ohne irgendwelche Add-Ons gestartet. New Message > ics-Datei draufgezogen und an mich selber versandt. Ergebnis: wie immer text/plain.


    Vielleicht kannst Du das wiederum mit der beigefügten ics-Datei versuchen? (ICS ist eine Text-Datei, dadurch kein Virenrisiko)
    invite.zip
    (das Forum erlaubt Dateien nur in Bildformaten oder als ZIP, daher gepackt)


    Freundliche Grüße
    Akebinko


    PS: inzwischen auf Thunderbird 38.2.0 / Lightning 4.0.2

  • Hallo Akebinko,


    auch mit deiner Datei bleibt es bei mir so wie oben beschrieben. Ich habe es mit meinem normalen Profil in Thunderbird 38.2.0 ausprobiert und mit einem recht frischen in einer Thunderbird-40-Beta. Die Mail-Struktur ist immer folgende:

    Interessanterweise wird diese Mail in Thunderbird 40 MIT der Imip-Bar angezeigt, obwohl kein method=request im Quelltext vorkommt. Das wirkt alles schon etwas nebulös. :-)


    Schöne Grüße
    Robert

  • Hallo Robert,


    ich bin immer weiter erstaunt. Jetzt habe ich in meiner Verzweiflung in TB 38.0.2 ein brandneues Profil "ICS" erstellt und lediglich dieses getan:


    • E-Mail-Adresse/Passwort eingetragen
    • Keep Calendar, um Lightning zu bestätigen (nur lokalen Home Kalender)
    • Send new mail, an meine eigene Adresse adressiert
    • invite.ics attached (Attach-Knopf > File...)
    • fertig...

    Keine weiteren Zeichensatzvorgaben, Attachments, nix.
    Ergebnis: eingegangene Mail bietet weiter keine Termintaskleiste an; Source(Strg-U) zeigt text/plain an.


    Interessanterweise ist das Attachment im Source encoded, d.h. nicht frei lesbar wie bei Dir.


    Habe spaßeshalber invite.ics im Texteditir ausdrüclklich als UTF-8 abgespeichert, weil das Attachment in dem Zeichensatz versandt wird. Wird trotzdem codiert.


    Verwunderte Grüße
    Akebinko

  • Hallo,


    bin eher zufällig an dieses Thema geraten.
    Eine Einstellung über die Benutzeroberfläche habe ich auch nicht gefunden,
    aber festgestellt, daß auch "mein" Thunderbird 38.5.0 beim Versenden von ics-Anhängen als Text versendet.
    Ich kam dann auf die mimeTypes.rdf im Profilordner und stellte dort fest, daß .ics-Dateien dort nicht vorkamen.
    Thunderbird fehlt hier die Information um zu erkennen, was es machen soll.
    Falls diese Datei sich gelegentlich geändert hat, werden evtl Nutzer mit "alten" Profilen davon ausgespart??


    Nach dem Text der ct unter dem Link http://www.heise.de/ct/hotline…nden-vorgeben-319960.html
    kann man die Datei erweitern und eigene Mime-Types hinzufügen.


    Ich werd´das demnächst mal ausprobieren...


    MfG, Jörn

  • Danke Hiker, das ist es! :thumbsup:


    Habe das sofort in meinem separaten Test-Profile "ICS" getestet. Interessanterweise gibt es offenbar von Haus aus diese mimetypes.rdf Datei nicht. Vielleicht wird sie erst von Plug-Ins hinzugefügt. Mein normales Profil hat die Datei z.B. mit etlichen Einträgen von vlc drin.


    Ich erstellte also diese Minimal-Datei im Profilverzeichnis:


    Und startete dann Thunderbird (inzwischen 38.5.1) und führte wieder die Testschritte durch:

    • Send new mail, an meine eigene Adresse adressiert
    • invite.ics attached (Attach-Knopf > File...)
    • Absenden
    • Mail abrufen

    Erfolg, die Mail wurde als text/calendar versandt und Thunderbird erkennt den Kalendereintrag!!!


    Im Source steht nun:




    Was lange währt, wurde endlich gut! Die Erklärung ist am Ende so stupide simpel, aber wenn man es nicht weiß...


    Nun frage ich mich:

    • warum wurde dieses MIME Type irgendwann zwischen TB17 und 30+ nicht mehr eingepflegt?
    • Warum trägt es das Add-On Lightning nicht selber ausdrücklich ein, um volle Kalenderfunktionalität sicherzustellen?


    Danke und viele Grüße!
    Akebinko