iCalendar(.icsまたは.ical)会議の招待状をoutlook.office365.comから受信して、解析してカレンダーに追加できるようにする方法(リマインド+ wyrdなど)?
私は長い間懸命に答えを探しましたが、何も見つかりませんでしたので、本当に些細なことを見逃しているだけなのでしょうか。
Fedora 20(Heisenbug)のOfflineIMAP 6.5.5でMutt 1.5.22を使用しています。
iCalendarメッセージをカレンダーにインポートできる形式に解析するためのスクリプトは数多くあります。これは私の問題ではありません。私の問題は、iCalendarメッセージも受信しないため、解析するものがないことです。
会議の招待状が、base64でエンコードされたtext / htmlメッセージとして受信トレイに届きます。それはないマルチパートメッセージとはありません何の添付ファイルが。メッセージの本文には、Microsoft Outlook Web Access(OWA)へのリンクが含まれています。リンクをたどっても、WebMailに行く以外は何もしないようです。メール本文の残りの部分には、会議への招待の説明が含まれています。
招待状を転送して添付ファイルとして転送しようとしましたが、どちらもメッセージの形式に影響しませんでした。
メッセージのヘッダーを調べましたが、重要なものは何も目立ちませんでした。誰かに何か意味がある場合に備えて、ここにコピーしました。
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
WebMailでメッセージのヘッダーも検査しました。より多くのヘッダー(一部はtnefに関連)がありましたが、やはり、カレンダーや招待状に関連するものは何もないようです。
「会議への招待」のヘッダーと通常のメールのヘッダーを比較しました。唯一の違いは、通常のメールには追加のヘッダー「X-Auto-Response-Suppress:DR、RN、NRN、OOF、AutoReply」が含まれていることです。
.offlineimaprcのfolderfilterがCalendarフォルダーを同期しないように設定されています。これは、OfflineIMAPが同期しようとするたびに、Calendarフォルダーの同期中に同じエラーが100回以上発生するためです:「エラー:IMAPサーバー 'リモート'にはUID '[...]'のメッセージがありません」
Pythonのimaplibを使用してCalendarフォルダーを検査します。
>>> 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)")
2回目にfetchを呼び出すと、「サーバーは次のメッセージを取得できませんでした。メッセージは削除されていません。OutlookまたはOutlook Web Appを使用して表示できる可能性があります。連絡することもできます。送信者にメッセージの内容を確認してもらいます。」
WebMailで、[予定表]タブ([予定表]タブからアクセス可能)に組織外の可視性に対する権限があることがわかりました 現在、「共有しない」に設定されています。その他のオプションは、「可用性のみ」、「限定された詳細」、または「完全な詳細」です。権限を「完全な詳細」に設定し、会議の招待状を自分に送信しても、会議の招待状の形式に影響はありませんでした。
iCalendarメッセージを受信しないための回避策として、ThunderbirdをLightningアドオンで開いています。どういうわけか、Lightningアドオンは会議の招待状を受信する方法を知っています。メッセージは引き続きtext / htmlとして表示されますが、Thunderbirdのステータスバーにリンクがあります。それをクリックすると、招待を拒否するか受け入れるかを尋ねるプロンプトが開きます。
Outlook 365からの会議への招待がiCalendarメッセージではなく単純なテキスト/ htmlメッセージとして届く理由を誰かが知っていますか?何か私にできることはありますか?Lightningアドオンが招待を処理できる場合、Microsoft Exchange Webサービス(EWS)を使用するなどの解決策が必要です。ソリューションでツールのコーディングが必要になる場合は、そうしてください。正しい方向へのプッシュは大歓迎です。