imaplib exchange (Microsoft Office Document)
Hallo, ich möchte Mails aus einem Exchange-Ordner (IMAP) auslesen und später archivieren. Als Anzeige der archivierten Mail soll Outlook verwendet werden (msg-Format). Mir ist es bisher nur gelungen die Mails als "RFC 822 mail text" zu schreiben und damit kann Outlook 200x nichts anfangen. Gibts da einen Möglichkeit? ####################################################### #!/usr/bin/env python import imaplib import imaplib_connect c = imaplib_connect.open_connection() print c.select('INBOX') for msg_id in c.search(None, 'ALL')[1][0].split(): print msg_id fp = open('%s.eml' % msg_id, 'w') fp.write(c.fetch(msg_id, '(RFC822)')[1][0][1]) fp.close() c.logout() ####################################################### -uhe -- Uwe Hentzschel Systemingenieur GMH Systems Ost Riesaer Straße 1 · 01609 Gröditz Telefon 035263 62-551 · Fax 035263 62-642 uhe@gmh-systems-ost.de · PGP/GPG Key ID: 0xA219F988
Hallo Uwe, Uwe Hentzschel schrieb:
ich möchte Mails aus einem Exchange-Ordner (IMAP) auslesen und später archivieren. Als Anzeige der archivierten Mail soll Outlook verwendet werden (msg-Format).
Was soll "msg-Format" genau heißen?
Mir ist es bisher nur gelungen die Mails als "RFC 822 mail text" zu schreiben und damit kann Outlook 200x nichts anfangen.
"nichts anfangen" ist ungefähr so genau wie "geht nicht". Bitte liefere eine genauere Beschreibung des Fehlers/unerwarteten Verhaltens, wenn wir dir helfen sollen. Ich kann mir eigentlich nicht vorstellen, das Outlook RFC 822 formatierte Nachrichten nicht anzeigen kann.
Gibts da einen Möglichkeit?
Mozilla Thunderbird zur Anzeige nehmen?
####################################################### #!/usr/bin/env python
import imaplib import imaplib_connect
c = imaplib_connect.open_connection()
print c.select('INBOX')
for msg_id in c.search(None, 'ALL')[1][0].split(): print msg_id fp = open('%s.eml' % msg_id, 'w') fp.write(c.fetch(msg_id, '(RFC822)')[1][0][1]) fp.close()
c.logout() #######################################################
Der Code scheint ok, vielleicht liegt's am Format der E-mails selbst? Kannst du irgendwo Beispieldaten posten, z.B. in einem Pastebin? Chris
Hallo, Am 29.07.2009 um 13:36 schrieb Christopher Arndt:
Hallo Uwe,
Uwe Hentzschel schrieb:
ich möchte Mails aus einem Exchange-Ordner (IMAP) auslesen und später archivieren. Als Anzeige der archivierten Mail soll Outlook verwendet werden (msg-Format).
Was soll "msg-Format" genau heißen?
OK - wenn ich per Drag'n'Drop eine Mail aus der Inbox (Outlook) auf den Desktop ziehe entsteht eine Datei <subject der mail>.msg Type "Outlook-Element". Vorteil - Doppelklick auf das File öffnet Outlook und zeigt die Mail an. Von http://www.fileformat.info/format/outlookmsg: MSG files are outlook messages saved as files. They are saved as "COM stuctured storage OLE2 compound documents" or "DocFile", which is the same technique used by Word, Excel and many many more.
Mir ist es bisher nur gelungen die Mails als "RFC 822 mail text" zu schreiben und damit kann Outlook 200x nichts anfangen.
"nichts anfangen" ist ungefähr so genau wie "geht nicht". Bitte liefere eine genauere Beschreibung des Fehlers/unerwarteten Verhaltens, wenn wir dir helfen sollen. Ich kann mir eigentlich nicht vorstellen, das Outlook RFC 822 formatierte Nachrichten nicht anzeigen kann.
Ziel ist wie gesagt ein Doppelklick auf eine archivierte Mail soll Outlook öffnen und anzeigen. "RFC 822 mail text" wäre als ein MIME Format analog Outlook Express (*.eml) Und das öffnet Outlook 200x nicht (wird nicht unterstützt). Die Mail an sich kann ich ja Lesen und entsprechend für die Archivierung auswerten. Ich bräuchte nur die unmanipulierte Mail als File fürs Archive. Eine Einschränkung wäre noch, das Skript läuft auf einem Linux Server. Ich kann also keine win32 Python Module verwenden.
Gibts da einen Möglichkeit?
Mozilla Thunderbird zur Anzeige nehmen?
####################################################### #!/usr/bin/env python
import imaplib import imaplib_connect
c = imaplib_connect.open_connection()
print c.select('INBOX')
for msg_id in c.search(None, 'ALL')[1][0].split(): print msg_id fp = open('%s.eml' % msg_id, 'w') fp.write(c.fetch(msg_id, '(RFC822)')[1][0][1]) fp.close()
c.logout() #######################################################
Der Code scheint ok, vielleicht liegt's am Format der E-mails selbst? Kannst du irgendwo Beispieldaten posten, z.B. in einem Pastebin?
Chris
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
WENN Du mit Exchange und Outlook arbeiten willst oder mußt, dann schau mal auf http://www.dimastr.com/redemption/ das ist nach meinen Recherchen die zuverlässigste Weise, Deine Probleme zu lösen. Du kannst damit: - Exchange Mails nach RFC822 Email konvertieren - Exchange als .msg speichern - RFC822 als .msg speichern Ausprobieren geht für umsonst, Produktiveinsatz der Libary sind 183,90 EUR, das reicht grade mal für 2 Packs Prozark, die ohne redemption mindestens brauchst. Gruß Harald 2009/7/29 Uwe Hentzschel <uhe@gmh-systems-ost.de>
Hallo,
ich möchte Mails aus einem Exchange-Ordner (IMAP) auslesen und später archivieren. Als Anzeige der archivierten Mail soll Outlook verwendet werden (msg-Format). Mir ist es bisher nur gelungen die Mails als "RFC 822 mail text" zu schreiben und damit kann Outlook 200x nichts anfangen.
Gibts da einen Möglichkeit?
####################################################### #!/usr/bin/env python
import imaplib import imaplib_connect
c = imaplib_connect.open_connection()
print c.select('INBOX')
for msg_id in c.search(None, 'ALL')[1][0].split(): print msg_id fp = open('%s.eml' % msg_id, 'w') fp.write(c.fetch(msg_id, '(RFC822)')[1][0][1]) fp.close()
c.logout() #######################################################
-uhe
-- Uwe Hentzschel Systemingenieur
GMH Systems Ost Riesaer Straße 1 · 01609 Gröditz Telefon 035263 62-551 · Fax 035263 62-642 uhe@gmh-systems-ost.de · PGP/GPG Key ID: 0xA219F988
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
-- GHUM Harald Massa persuadere et programmare Harald Armin Massa Spielberger Straße 49 70435 Stuttgart 0173/9409607 no fx, no carrier pigeon - LASIK good, steroids bad?
Massa, Harald Armin schrieb:
WENN Du mit Exchange und Outlook arbeiten willst oder mußt, dann schau mal auf
http://www.dimastr.com/redemption/
das ist nach meinen Recherchen die zuverlässigste Weise, Deine Probleme zu lösen.
Tja, aber auch Windows-only, oder? Ich würde vorschlagen, einfach einen Mail-Client zu verwenden, der Internet-Standards ordentlich unterstützt. Alternativ: stelle das Archiv nicht wiederum via IMAP zur Verfügung, z.B. mit dovecot. Chris
Diese Spiele bin ich alle gedanklich durchgegangen. Wie ich die Teile einer Mail darstelle ist mir überlassen. Es muss nur für den Nutzer mit einem Klick überschaubar dargestellt und händelbar sein. Somit wäre die Originalmail schon die beste Alternative. Ich könnte sicherlich per Registryeintrag der RFC konformen Mail einen anderen Mailclient unterjubeln. Das ist mir aber alles sehr gefrickelt. -uhe Am 29.07.2009 um 17:55 schrieb Christopher Arndt:
Massa, Harald Armin schrieb:
WENN Du mit Exchange und Outlook arbeiten willst oder mußt, dann schau mal auf
http://www.dimastr.com/redemption/
das ist nach meinen Recherchen die zuverlässigste Weise, Deine Probleme zu lösen.
Tja, aber auch Windows-only, oder?
Ich würde vorschlagen, einfach einen Mail-Client zu verwenden, der Internet-Standards ordentlich unterstützt.
Alternativ: stelle das Archiv nicht wiederum via IMAP zur Verfügung, z.B. mit dovecot.
Chris
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
Uwe Hentzschel schrieb:
Diese Spiele bin ich alle gedanklich durchgegangen.
Wie ich die Teile einer Mail darstelle ist mir überlassen. Es muss nur für den Nutzer mit einem Klick überschaubar dargestellt und händelbar sein. Somit wäre die Originalmail schon die beste Alternative. Ich könnte sicherlich per Registryeintrag der RFC konformen Mail einen anderen Mailclient unterjubeln. Das ist mir aber alles sehr gefrickelt.
Kleiner Link zur Lektüre: http://en.wikipedia.org/wiki/Vendor_lock_in Chris
Chris,
WENN Du mit Exchange und Outlook arbeiten willst oder mußt, dann schau
mal auf
http://www.dimastr.com/redemption/
das ist nach meinen Recherchen die zuverlässigste Weise, Deine Probleme zu lösen.
Tja, aber auch Windows-only, oder?
völlig korrekt, Windows only. Exchange required. Deswegen steht am Anfang meines Rates auch das großgeschriebene "WENN".
Ich gehe bei meinem Tip davon aus, daß die Entscheidungsträger angemessen über die Risiken aufgeklärt wurden, und daß diese Risikoaufklärung sauber dokumentiert wurde. WENN diese Restriktionen bekannt sind, und die Entscheidung für OL/Exchange trotzdem gegeben ist .... dann ist nach meinem Wissen der einfachste Weg zur Arbeit mit .msg Dateien die genannte Redemption-Library... Gruß Harald -- GHUM Harald Massa persuadere et programmare Harald Armin Massa Spielberger Straße 49 70435 Stuttgart 0173/9409607 no fx, no carrier pigeon - LASIK good, steroids bad?
participants (3)
-
Christopher Arndt -
Massa, Harald Armin -
Uwe Hentzschel