Outlook.office365.com adresinden iCalendar (.ics veya .ical) toplantı davetiyeleri nasıl alınır, böylece ayrıştırılıp bir takvime (remind + wyrd gibi) eklenebilir mi?
Uzun ve zor bir cevap aradım, ama hiç bulamadım, bu yüzden gerçekten önemsiz bir şeyi kaçırıp kaçırmadığımı merak ediyorum.
Fedora 20'de (Heisenbug) OfflineIMAP 6.5.5 ile Mutt 1.5.22 kullanıyorum.
İCalendar iletilerini takvimlere aktarılabilecek biçimlere ayrıştırmak için birçok komut dosyası vardır. Bu benim sorunum değil . Benim sorunum bile iCalendar iletileri almıyorum, bu yüzden ayrıştırmak için bir şey yok.
Toplantı davetiyesi gelen kutuma base64 kodlu metin / html mesajı olarak geliyor. Çok parçalı bir mesaj değildir ve ek yoktur . İletinin gövdesi, Microsoft Outlook Web Access'e (OWA) bir bağlantı içerir. Bağlantıyı takip etmek beni WebMail'e götürmek dışında bir şey yapmıyor gibi görünüyor. E-posta gövdesinin geri kalanı toplantı davetinin açıklamasını içerir.
Daveti iletmeyi ve daveti bir ek olarak iletmeyi denedim, ancak bunların hiçbiri mesajın biçimini etkilemedi.
İletinin başlıklarını inceledim, ancak hiçbir şey önemli olarak göze çarpmadı. Herkese bir şey ifade etmeleri ihtimaline karşı onları buraya kopyaladım:
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
Ayrıca WebMail'deki iletinin başlıklarını da inceledim. Daha fazla başlık vardı (bazıları tnef ile ilgili), ancak yine de takvimler veya davetiyelerle ilgili hiçbir şey görünmüyordu.
"Toplantı daveti" başlıklarını normal e-posta başlıklarıyla karşılaştırdım. Tek fark, normal bir e-postanın fazladan bir üstbilgi içermesidir: "X-Otomatik Yanıt-Gizleme: DR, RN, NRN, OOF, Otomatik Yanıt".
.Offlineimaprc'nin klasör filtresim, Takvim klasörünü senkronize etmeyecek şekilde ayarlanmış. Bunun nedeni, OfflineIMAP her senkronize etmeye çalıştığında, Takvim klasörünü senkronize ederken yüzün üzerinde aynı hatayla karşılaşmasıdır: "HATA: IMAP sunucusu 'uzak' UID ile bir mesaj içermiyor '[...]' ."
Takvim klasörünü incelemek için Python imaplib'ini kullanma:
>>> 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)")
Getirmeyi ikinci çağırdığımda, bir ileti döndürür: "Sunucu aşağıdaki iletiyi alamadı. İleti silinmedi. Outlook veya Outlook Web App kullanarak görüntüleyebilirsiniz. gönderen, iletinin ne dediğini öğrenir. "
WebMail'de Takvim klasörünün (Takvim sekmesi aracılığıyla erişilebilir) kuruluşun dışındaki görünürlük izinlerine sahip olduğunu görüyorum . Şu anda "Paylaşılmadı" olarak ayarlanmış. Diğer seçenekler "Yalnızca kullanılabilirlik", "Sınırlı ayrıntılar" veya "Tüm ayrıntılar" dır. İzinleri "Tam ayrıntılar" olarak ayarlamak ve ardından kendime bir toplantı daveti göndermek, toplantı daveti biçimini etkilemedi.
İCalendar iletisini almamanın bir çözümü olarak, Thunderbird'ü Lightning eklentisiyle açtım. Her nasılsa, Lightning eklentisi toplantı davetlerinin nasıl alınacağını biliyor. Mesajlar hala metin / html olarak görünüyor, ancak Thunderbird'ün durum çubuğunda bir bağlantı var. Tıklandığında daveti reddetmek veya kabul etmek isteyip istemediğinizi soran bir istem açılır.
Outlook 365'ten gelen toplantı davetlerinin neden iCalendar iletileri yerine basit metin / html iletileri olarak geldiğini düşünen var mı? Yapabileceğim bir şey var mı? Lightning eklentisi davetiyelerle çalışabiliyorsa, Microsoft Exchange Web Hizmetleri'ni (EWS) kullanma gibi bir çözüm olmalıdır. Çözüm bir aracı kodlamamı gerektiriyorsa, öyle olsun. Doğru yönde bir itiş çok takdir edilecektir.