Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Als je het over Python hebt, is het moeilijk over het hoofd te zien hoe ver de functionaliteiten zich verspreiden en wat je kunt bereiken met slechts een paar stukjes code. Tegenwoordig is het verzenden en ontvangen van e-mails het meest relevante, en de e-mailautomatisering van Python in Microsoft Outlook maakt dingen handiger.

Waarom zou u eindeloze momenten besteden aan het samenstellen van e-mails op een e-mailclient als u Python het in één keer voor u kunt laten doen? Als je geïntrigeerd bent, moet je verder lezen om te zien hoe je geautomatiseerde e-mails kunt verzenden vanuit Python met behulp van Microsoft Outlook.

Voldoen aan enkele voorwaarden

Gezien de twee belangrijkste platforms waarnaar in deze handleiding wordt verwezen, zijn dit de vereisten om deze eenvoudige maar nuttige taak mogelijk te maken. Download en installeer het volgende om aan de slag te gaan:

instagram viewer
  • Microsoft Outlook: U moet de MS Outlook-toepassing op uw systeem hebben geïnstalleerd en uitvoeren. U kunt elk e-maildomein met Outlook gebruiken, omdat er geen beperkingen zijn met betrekking tot e-mailconfiguraties.
  • win32com.client: Deze bibliotheek van derden is essentieel om verbinding te maken met uw Microsoft-applicaties. Omdat Microsoft Outlook zo'n applicatie is, heb je deze bibliotheek binnen Python nodig om verbinding te maken met de Outlook-uitwisselingsserver.

Microsoft Outlook is een van de oudste en meest gebruikte e-mailclients, die in de lijst van meest populaire e-mailproviders na Gmail en Yahoo. In deze handleiding wordt een Gmail-adres geconfigureerd in Outlook.

win32com.client is een integraal onderdeel van deze code en je hebt een volledig functionele bibliotheek nodig om een ​​verbinding tot stand te brengen tussen Microsoft Outlook en Python.

Voordat u gaat installeren, kunt u controleren of win32com is al op uw computer geïnstalleerd. Sommige IDE-versies bieden dit pakket standaard aan. U kunt controleren of het beschikbaar is met de volgende opdracht.

python -m pip show pywin32

Als u een foutmelding krijgt 'pip' wordt niet herkend als een intern of extern commando terwijl u de bovenstaande opdracht uitvoert, kunt u installeer pip op Windows, Mac en Linux, om ervoor te zorgen dat uw bibliotheekinstallaties naadloos verlopen.

Als u na het uitvoeren van de bovenstaande opdracht een versienummer ontvangt, hoeft u dit niet opnieuw te installeren.

Als u vervolgens de volgende foutmelding krijgt, moet u het win32com bibliotheek op uw systeem:

'pywin32'isniet erkend als een interne of extern commando, bedienbaar programma, of batch bestand.

Open de prompt en typ het Pip opdracht om de bibliotheek vanuit het terminalvenster te installeren.

python -m pip installeren pywin32

Volg de instructies op het scherm om het proces te voltooien. U kunt de --show commando post-installatie om te controleren of win32com is met succes op uw systeem geïnstalleerd.

python -m pip show pywin32

E-mails verzenden vanuit Python met behulp van Outlook

Aangezien aan de vereisten is voldaan, is het tijd om te beginnen met het schrijven van de code. Om te beginnen moet u de win32com.client bibliotheek met behulp van de importeren stelling.

importeren win32com.client

U kunt nu code schrijven om Python en de e-mailtoepassing van Microsoft, Outlook, te verbinden.

ol = win32com.client. Verzenden('Vooruitzichten. Sollicitatie')

Waar:

  • ol: Nieuwe variabele om de verbindingsreferentie op te slaan.
  • win32com.client: Windows-bibliotheek om een ​​verbinding tot stand te brengen tussen Python en Outlook.
  • Verzenden: Functie om de verbinding tot stand te brengen.
  • Vooruitzichten. Sollicitatie: Dit kan indien nodig worden vervangen door elke Microsoft-toepassingsnaam.

Vervolgens is het noodzakelijk om de afmetingen van het nieuwe e-mailbericht te definiëren, zodat Python begrijpt waar de inhoud moet worden bijgewerkt.

# grootte van de nieuwe e-mail
olmailitem = 0x0

Waar:

  • olmailitem: Nieuwe variabele om de afmetingen op te slaan.
  • 0x0: Afmetingen van het nieuwe e-mailbericht in het geheugen van Python.

De functies van Python openen een nieuw e-mailitem zodra u de afmetingen van de hoofdtekst van de e-mail definieert.

nieuwemail = ol. CreateItem (olmailitem)

Waar:

  • nieuwemail: Nieuwe variabele om de nieuwe e-mailreferentie op te slaan.
  • ol: Referentie van de eerder gemaakte verbinding tussen Python en Outlook.
  • CreateItem (olmailitem): opdracht om een ​​nieuw e-mailconcept te maken.

Aangezien elke e-mail onvolledig is zonder een onderwerpregel, kunt u deze in de code definiëren zodat Python deze automatisch toevoegt voordat de e-mail naar de ontvanger wordt verzonden. Dit is zichtbaar voor de ontvanger, dus wees voorzichtig met het definiëren van de case en de inhoud.

nieuwemail. Onderwerp = 'Post testen'

Waar:

  • nieuwemail:Variabele om de referentie van het nieuwe poststuk op te slaan.
  • Onderwerp: Dit kan variëren, afhankelijk van wat u als onderwerp voor uw e-mail wilt hebben.

U kunt de beoogde ontvangers toevoegen binnen de Naar En CC trefwoorden als volgt:

nieuwemail. Naar = '[email protected]'
nieuwemail. CC = '[email protected]'

Waar:

  • Naar: het e-mailadres van de hoofdontvanger.
  • CC: Gekopieerde e-mailontvangers.

Met Python kun je e-mails naar meerdere ontvangers sturen. Voeg een... toe puntkomma (;) scheidingsteken tussen e-mail-ID's in de kolom Aan/CC.

Ten slotte kunt u, nadat u het onderwerp en de ontvangers hebt gedefinieerd, de e-mailtekst aan het nieuwe e-mailitem toevoegen voordat u het naar de ontvangers binnen de Naar En CC kolommen.

nieuwemail. Lichaam= 'Hallo, dit is een testmail om te laten zien hoe je e-mails kunt versturen vanuit Python en Outlook.'

Om bijlagen aan uw e-mail toe te voegen, kunt u de volgende opdrachten gebruiken:

hechten = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
nieuwemail.Bijlagen.Toevoegen(bijvoegen)

Aangezien de e-mail klaar is om te worden verzonden, zijn er twee opties die u kunt gebruiken. Als u een voorbeeld van uw e-mail wilt voordat u deze naar de ontvangers verzendt, kunt u de Weergave() commando als volgt:

nieuwemail.Weergave()

U kunt de Versturen() commando als u de e-mail wilt verzenden zonder deze vooraf te bekijken.

nieuwemail.Versturen()

Vergeet niet dat u geen voorbeeld van de e-mail ziet als u de Versturen opdracht direct. Gebruik deze opdracht verstandig als u de inhoud van uw e-mail regelmatig wijzigt. Met de Python-code importeer je in één keer de bibliotheek, breng je de verbinding tot stand en verstuur je de e-mails snel.

Hier is de volledige code:

importeren win32com.client
ol=win32com.client. Verzenden("outlook.toepassing")
olmailitem=0x0#grootte van de nieuwe e-mail
nieuwemail=ol. CreateItem (olmailitem)
nieuwemail. Onderwerp= 'Post testen'
nieuwemail. Naar='[email protected]'
nieuwemail. CC='[email protected]'
nieuwemail. Lichaam= 'Hallo, dit is een testmail om te laten zien hoe je e-mails kunt versturen vanuit Python en Outlook.'
# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# nieuwemail.Bijlagen.Toevoegen(bijvoegen)
# Om de e-mail weer te geven voordat deze wordt verzonden
# nieuwemail. Weergave()
nieuwemail.Versturen()

Voordelen van Python e-mailautomatisering

Met e-mailautomatisering van Python kunt u e-mails rechtstreeks vanuit uw Python-interface verzenden zonder MS Outlook te openen. Als je een fervent gebruiker van Python bent en niet zo enthousiast bent over het herhaaldelijk openen van een e-mailclient om e-mails uit te typen, kun je de programmeertaal het voor je laten doen.

Waarom zou u uren besteden aan repetitieve taken als u met een paar regels code geautomatiseerde e-mails kunt verzenden met Python?