Ich habe zuvor einen Beitrag PDF an E-Mail in Textformat konvertieren konvertieren gepostet, und es scheint, dass er sehr beliebt war.
Ich werde über die modifizierte Version schreiben.
In 18.4. Postfach - Verschiedene Formate von Postfachoperationen
Beim Aktualisieren von Postfächern, die gleichzeitig durch einen anderen Prozess geändert werden können, ist besondere Vorsicht geboten. Das sicherste Postfachformat für solche Aufgaben ist Maildir. Vermeiden Sie die Verwendung eines einzelnen Dateiformats wie mbox für gleichzeitige Schreibvorgänge.
Und
Es gibt verschiedene Variationen des mbox-Formats, von denen jede behauptet, die Mängel des ursprünglichen Formats zu überwinden.
Da es so geschrieben wurde, wurde es in PDF an Mail angehängt ... von Cygwins procmail / fetchmail als Maildir-Format gelesen. Das von Thunderbird behandelte Mbox-Format kann von Pythons Mailbox-Bibliothek gelesen werden (wenn auch in einigen Dialekten), daher verwende ich die offizielle Python.org-Binärdatei.
Thunderbidr erstellt ein Verzeichnis, in dem E-Mails mit 8 zufälligen Zeichen gespeichert werden. Sie müssen diesen Bereich also neu schreiben.
#coding:utf-8
import os
import os.path
import sys
import email
import mailbox
import mimetypes
maildir =
'C:\\Users\\t.uehara\\AppData\\Roaming\\Thunderbird\\Profiles\\abcdef12.default\\Mail\\pop.example.com\\Inbox'
tempdir = 'C:\\Users\\t.uehara\\Downloads\\'
def extractMime(message):
for part in message.walk():
if part.get_content_maintype() == 'multipart':
continue
fname = part.get_filename()
if fname != None:
if fname.find(".zip") != -1:
zipname = tempdir+fname
#Verarbeitung überspringen, wenn Zip-Datei vorhanden ist
if os.path.isfile(zipname) == False:
fp = open(zipname, 'wb')
fp.write(part.get_payload(decode=True))
fp.close()
print zipname
if __name__ == '__main__':
for message in mailbox.mbox(maildir):
extractMime(message)
Zusätzlich zum Speichern der Zip-Datei können Sie auch die komprimierte Protokolldatei lesen und eine entsprechende Verarbeitung durchführen. Da der Quellcode jedoch etwas überfüllt ist, werde ich ihn hinzufügen, wenn in den Kommentaren usw. eine Anfrage vorliegt. ..
Recommended Posts