Come ricevere gli inviti alle riunioni iCalendar (.ics o .ical) da outlook.office365.com, in modo che possano essere analizzati e aggiunti a un calendario (come remind + wyrd)?
Ho cercato a lungo e duramente una risposta, ma non ne ho trovata nessuna, quindi mi chiedo se mi sto perdendo qualcosa di veramente banale.
Sto usando Mutt 1.5.22 con OfflineIMAP 6.5.5 su Fedora 20 (Heisenbug).
Esistono molti script per analizzare i messaggi iCalendar in formati che possono essere importati in calendari. Questo non è un mio problema Il mio problema è che non sto nemmeno ricevendo messaggi iCalendar, quindi non ho nulla da analizzare.
Un invito alla riunione arriva nella mia casella di posta come messaggio di testo / html codificato in base64. E ' non è un messaggio in più e non ci sono nessun allegato . Il corpo del messaggio contiene un collegamento a Microsoft Outlook Web Access (OWA). Seguire il collegamento non sembra fare altro che portarmi su WebMail. Il resto del corpo dell'email contiene la descrizione dell'invito alla riunione.
Ho provato a inoltrare l'invito e inoltrare l'invito come allegato, ma nessuno di questi ha influito sul formato del messaggio.
Ho ispezionato le intestazioni del messaggio, ma nulla si è rivelato importante. Li ho copiati qui, nel caso in cui significassero qualcosa per chiunque:
Received: from [...] by [...] with Microsoft SMTP Server (TLS) id
[...] via Mailbox Transport; [timestamp]
Received: from [...] by [...] with Microsoft SMTP Server (TLS) id
[...]; [timestamp]
Received: from [...] by [...] with Microsoft SMTP Server (TLS) id
[...]; [timestamp]
Received: from [...] by [...] with mapi id [...]; [timestamp]
From: [meeting organiser]
To: [meeting attendees]
Subject: [meeting subject]
Thread-Topic: [meeting subject]
Thread-Index: [...]
Sender: [sender on behalf of meeting organiser]
Date: [timestamp]
Message-ID: <[...]>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 03
X-MS-Exchange-Organization-AuthSource: [...]
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Ho anche ispezionato le intestazioni del messaggio in WebMail. C'erano più intestazioni (alcune relative a tnef), ma ancora una volta, nulla sembrava correlato a calendari o inviti.
Ho confrontato le intestazioni di un "invito alla riunione" con le intestazioni di una normale e-mail. L'unica differenza era che un'e-mail normale contiene un'intestazione aggiuntiva: "Soppressione risposta automatica X: DR, RN, NRN, OOF, Risposta automatica".
Il mio filtro di cartella .offlineimaprc è impostato per non sincronizzare la cartella Calendario. Questo perché ogni volta che OfflineIMAP ha tentato di sincronizzarsi, durante la sincronizzazione della cartella Calendario si verificherebbero più di cento istanze dello stesso errore: "ERRORE: il server IMAP 'remoto' non ha un messaggio con UID '[...]' ".
Utilizzo di imaplib di Python per ispezionare la cartella Calendario:
>>> import imaplib
>>> i = imaplib.IMAP4_SSL("outlook.office365.com", 993)
>>> i.login("NAME@COMPANY.com", "PASSWORD")
('OK', ['LOGIN completed.'])
>>> i.select("Calendar")
('OK', ['159'])
>>> i.fetch(159, "(RFC822)")
('OK', [None])
>>> i.fetch(159, "(RFC822)")
La seconda volta che chiamo fetch, viene restituito un messaggio: "Il server non è stato in grado di recuperare il seguente messaggio. Il messaggio non è stato eliminato. Potresti essere in grado di visualizzarlo utilizzando Outlook o Outlook Web App. Puoi anche contattare il mittente per scoprire cosa dice il messaggio ".
In WebMail, vedo che la cartella Calendario (accessibile tramite la scheda Calendario) dispone delle autorizzazioni per la visibilità all'esterno dell'organizzazione . Attualmente è impostato su "Non condiviso". Altre opzioni sono "Solo disponibilità", "Dettagli limitati" o "Dettagli completi". L'impostazione delle autorizzazioni su "Dettagli completi" e quindi l'invio di un invito a una riunione non hanno avuto alcun effetto sul formato dell'invito alla riunione.
Come soluzione alternativa per non ricevere il messaggio iCalendar, ho Thunderbird aperto con il componente aggiuntivo Lightning. In qualche modo, il componente aggiuntivo Lightning sa come ricevere gli inviti alle riunioni. I messaggi vengono comunque visualizzati come text / html, ma nella barra di stato di Thunderbird è presente un collegamento. Cliccandolo si apre un prompt che chiede se rifiutare o accettare l'invito.
Qualcuno ha qualche idea del perché gli inviti alle riunioni da Outlook 365 arrivano come semplici messaggi di testo / html anziché come messaggi iCalendar? C'è qualcosa che posso fare? Se il componente aggiuntivo Lightning può funzionare con gli inviti, è necessario che vi sia una soluzione, ad esempio l'utilizzo dei servizi Web di Microsoft Exchange (EWS). Se la soluzione mi richiederà di codificare uno strumento, così sia. Una spinta nella giusta direzione sarebbe molto apprezzata.