Opgelost: converteer Outlook-e-mail naar tekstbestand python

Het grootste probleem met het converteren van Outlook-e-mail naar tekstbestanden is dat Outlook de opmaakinformatie in de e-mail niet altijd bewaart. Dit kan het moeilijk maken om de inhoud van de e-mail te begrijpen.

-3.x email outlook text-files share|improve this question edited Jan 14 '15 at 8:13 asked Jan 14 '15 at 7:51 user3775557 1,8271133 add a comment| 2 Answers 2 active oldest votes up vote 0 down vote accepted You can use the email module to read the message and then save it to a file. The following code will read the message from your inbox and save it as a text file in your current directory. import os import imaplib import email def save_attachment(msg, download_folder="/tmp"): """Given a message, save its attachments to the specified download folder (default is /tmp)""" att_path = "No attachment found." for part in msg.walk(): if part.get_content_maintype() == 'multipart': continue if part.get('Content-Disposition') is None: continue filename = part.get_filename() if filename is not None: sv_path = os.path.join(download_folder, filename) content = part.get_payload(decode=True) try: with open(sv_path, 'wb') as fp: fp.write(content) except IOError: print("Error saving attachment to", sv_path) return att_path return sv-path userName = "yourmail@gmailcom" password = "yourpassword" mail = imaplib.IMAP4('imap-mailhost') mail .login(userName , password ) mail .select("inbox") result , data 

= mail .search(Geen, "ALL") ids = data [ 0 ] id_list = ids.split() nieuwste_email_id = id_list[- 1 ] resultaat, data = mail .fetch(latest_email_id, "(RFC822)") raw_email = data [ 0 ][ 1 ] # converteert letterlijke byte naar tekenreeks verwijderen b” msg = email.message_from_string(raw_email) savepath = os.getcwd() + '/' + str(msg['Subject']) + '.txt' # of savepath = 'C:\Users\Downloads\' strMsg=str(“Onderwerp: “+msg['Onderwerp']+”

“+”Van: “+msg['Van']+”

“+msg.get_payload()) fp=open(savepath,'w') fp.write(strMsg) fp.close() deel|verbeter dit antwoord bewerkt 14 jan '15 om 8:13 beantwoord 14 jan '15 om 7 :54 user3775557 1,8271133 voeg een reactie toe| Uw antwoord concept opgeslagen concept weggegooid Aanmelden of inloggen Aanmelden via Google Aanmelden via Facebook Aanmelden met e-mail en wachtwoord Plaatsen als gast Naam E-mail Posten als gast Naam E-mail verwijderen Door uw antwoord te plaatsen, gaat u akkoord met het privacybeleid en servicevoorwaarden. Niet het antwoord waar je naar zoekt? Blader door andere vragen met de tag 3.x e-mail Outlook-tekstbestanden of stel uw eigen vraag. gevraagd 2 jaar geleden 2486 keer bekeken actief 2 jaar geleden Blog Stack Overflow Podcast #93 – A Very Spolsky Halloween Special Gerelateerd 9Hoe lees ik een e-mail van Gmail met Python? Gmail-inbox0E-mails lezen met python imaplib2Gmail IMAP IDLE werkt niet op Ubuntu-server4Krijg alle berichten van gmail-account met python imaplib1Lezen van e-mails van gmail-account in python1imaplib-fout bij het lezen van Gmail0Python ImapLib-zoekfunctie werkt niet Hot Network Vragen Waarom is het moeilijk voor watergolven om te annuleren elkaar? Hoe kan ik spelers terugbrengen naar een vorige stad die ze hebben bezocht tijdens het maken van personages? Moet ik mijn personage een aanstaande wending laten vermoeden of niet? Moet ik "a" of "an" gebruiken als ik een woord afkort? Hoe moet worden gewezen op de inefficiënte berekening van een student? Waarom zat er een robot in Rocky IV? Wat beperkt de lichtsnelheid in de speciale relativiteitstheorie als informatie tussen sterrenstelsels sneller dan het licht kan reizen? Biedt AWS een manier om HTTPS-verkeer naar twee verschillende EC2-instanties te routeren op basis van het directorypad? Kun je enkele screenshots van de bedieningspanelen van de editor delen? Hoe worden organische chemiemechanismen geaccepteerd als ze nooit experimenteel worden waargenomen (zoals in ab initio moleculaire orbitaaltheorie)? Wat voor goedkeuring heeft Donald Trump nodig om zijn muur te bouwen? Als 60 gelijk is aan LX—— Waarom is 11 uur + 1 uur niet == 12:00 uur?

Werk met tekstbestanden

Er zijn een paar manieren om met tekstbestanden in Python te werken. De eenvoudigste manier is om het bestand te openen in een teksteditor zoals Kladblok of Teksteditor en uw code te typen.

Een andere manier is om het bestandsobject in Python te gebruiken. U kunt het bestand openen met de functie open() en vervolgens de functies read() en write() gebruiken om respectievelijk gegevens naar het bestand te lezen en te schrijven.

Ten slotte kunt u de os.path-module gebruiken om toegang te krijgen tot het pad van een tekstbestand. U kunt dan de functie gettext() gebruiken om informatie over het bestand op te halen, zoals de naam en grootte.

Outlook-e-mail

Outlook is een populaire e-mailclient die door miljoenen mensen over de hele wereld wordt gebruikt. Het is beschikbaar op veel verschillende platforms, waaronder Windows, MacOS en Linux. Outlook heeft een uitgebreide functieset waarmee u uw e-mail, agenda en contacten eenvoudig kunt beheren. In deze zelfstudie bespreken we hoe u met Outlook-e-mail in Python kunt werken.

Eerst moet u een exemplaar van een Outlook-object maken. U kunt dit doen door de ingebouwde Outlook()-functie te gebruiken:

Vooruitzichten = Vooruitzichten()

Vervolgens moet u een instantie van het object Email maken. Dit object vertegenwoordigt een individueel e-mailbericht in uw mailbox:

e-mail = E-mail('UwE-mailadres')

U hebt dan toegang tot verschillende eigenschappen en methoden van het object Email:

e-mail.onderwerp() afdrukken (e-mail.onderwerp)

'Hallo Wereld!'

Gerelateerde berichten:

Laat een bericht achter