Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

När man pratar om Python är det svårt att förbise hur långt funktionaliteterna sprider sig och vad du kan uppnå med bara några få kodbitar. Idag är det mest relevanta att skicka och ta emot e-post, och Pythons e-postautomatisering i Microsoft Outlook gör saker och ting smidigare.

Varför spendera oändliga ögonblick på att sammanställa e-postmeddelanden på en e-postklient när du kan låta Python göra det åt dig i en enda instans? Om du är nyfiken måste du läsa vidare för att se hur du kan skicka automatiska e-postmeddelanden från Python med Microsoft Outlook.

Uppfyller några förutsättningar

Med tanke på de två stora plattformarna som hänvisas till i den här guiden, är dessa förutsättningarna för att möjliggöra denna enkla men användbara uppgift. För att komma igång, ladda ner och installera följande:

  • Microsoft Outlook: Du måste ha MS Outlook-programmet installerat och kört på ditt system. Du kan använda vilken e-postdomän som helst med Outlook, eftersom den inte har några begränsningar för e-postkonfigurationer.
    instagram viewer
  • win32com.client: Detta tredjepartsbibliotek är viktigt för att ansluta till dina Microsoft-applikationer. Eftersom Microsoft Outlook är en sådan applikation behöver du detta bibliotek i Python för att ansluta till Outlook Exchange-servern.

Microsoft Outlook är en av de äldsta och mest använda e-postklienterna, som rankas i listan över mest populära e-postleverantörerna efter Gmail och Yahoo. I den här guiden konfigureras en Gmail-adress i Outlook.

win32com.client är en integrerad del av den här koden, och du behöver ett fullt fungerande bibliotek för att upprätta en anslutning mellan Microsoft Outlook och Python.

Innan du installerar kan du kontrollera om win32com är redan installerat på din maskin. Vissa IDE-versioner erbjuder detta paket som standard. Du kan krysskolla om det är tillgängligt med följande kommando.

python -m pip show pywin32

Om du får ett fel 'pip' känns inte igen som ett internt eller externt kommando medan du kör kommandot ovan kan du installera pip på Windows, Mac och Linux, för att säkerställa att dina biblioteksinstallationer är sömlösa.

Efter att ha kört kommandot ovan, om du får ett versionsnummer, behöver du inte installera det igen.

Därefter, om du får följande felmeddelande, måste du installera win32com bibliotek på ditt system:

'pywin32'ärinte erkänd som en intern eller externt kommando, operativt program, eller kommandofil.

Öppna prompten och skriv in pip kommando för att installera biblioteket från terminalfönstret.

python -m pip Installera pywin32

Följ instruktionerna på skärmen för att slutföra processen. Du kan använda --show kommando efter installationen för att verifiera om win32com har installerats på ditt system.

python -m pip show pywin32

Skicka e-post från Python med Outlook

Eftersom förutsättningarna är tillgodosedda är det dags att börja skriva koden. Till att börja med måste du importera win32com.client bibliotek med hjälp av importera påstående.

importera win32com.client

Du kan nu skriva kod för att koppla ihop Python och Microsofts e-postprogram, Outlook.

ol = win32com.client. Avsändande('Syn. Ansökan')

Var:

  • ol: Ny variabel för att lagra anslutningsreferensen.
  • win32com.client: Windows-bibliotek för att upprätta en anslutning mellan Python och Outlook.
  • Avsändande: Funktion för att skapa anslutningen.
  • Syn. Ansökan: Detta kan ersättas med vilket Microsoft-programnamn som helst efter behov.

Därefter är det nödvändigt att definiera dimensionerna för det nya e-postmeddelandet så att Python förstår var innehållet behöver uppdateras.

# storlek på det nya e-postmeddelandet
olmailitem = 0x0

Var:

  • olmailitem: Ny variabel för att lagra måtten.
  • 0x0: Mått på det nya e-postmeddelandet i Pythons minne.

Pythons funktioner öppnar ett nytt e-postobjekt så snart du definierar e-postkroppens dimensioner.

newmail = ol. CreateItem (olmailitem)

Var:

  • nymail: Ny variabel för att lagra den nya e-postreferensen.
  • ol: Referens till den tidigare skapade anslutningen mellan Python och Outlook.
  • CreateItem (olmailitem): Kommando för att skapa ett nytt e-postutkast.

Eftersom varje e-postmeddelande är ofullständigt utan en ämnesrad kan du definiera det i koden så att Python lägger till det automatiskt innan e-postmeddelandet skickas till mottagaren. Detta kommer att vara synligt för mottagaren, så var försiktig med hur du definierar ärendet och innehållet.

nymail. Ämne = "Testa mail"

Var:

  • nymail:Variabel för att lagra den nya postreferensen.
  • Ämne: Detta kan variera beroende på vad du vill ha som ämne för ditt e-postmeddelande.

Du kan lägga till de avsedda mottagarna inom Till och CC sökord enligt följande:

nymail. Till = '[email protected]'
nymail. CC = '[email protected]'

Var:

  • Till: Huvudmottagarens e-postadress.
  • CC: Kopierade e-postmottagare.

Med Python kan du skicka e-postmeddelanden till flera mottagare. Lägg till en semikolon (;) avgränsare mellan e-post-ID: n i kolumnen Till/CC.

Slutligen, när du har definierat ämnet och mottagarna kan du lägga till e-posttexten i det nya försändelsen innan du skickar den till mottagarna inom Till och CC kolumner.

nymail. Kropp= "Hej, det här är ett testmeddelande för att visa hur man skickar e-postmeddelanden från Python och Outlook."

För att lägga till bilagor till din e-post kan du använda följande kommandon:

bifoga = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
nymail.Bilagor.Lägg till(bifoga)

Eftersom e-postmeddelandet är redo att skickas finns det två alternativ du kan använda. Om du vill ha en förhandsgranskning av din e-post innan du skickar den till mottagarna kan du använda Visa() kommando enligt följande:

nymail.Visa()

Du kan använda Skicka() kommandot om du vill skicka e-postmeddelandet utan att granska det i förväg.

nymail.Skicka()

Kom ihåg att du inte kommer att se en förhandsgranskning av e-postmeddelandet om du använder Skicka kommandot direkt. Använd det här kommandot klokt om du ändrar ditt e-postmeddelande regelbundet. Du kan använda Python-koden på en gång för att importera biblioteket, upprätta anslutningen och skicka e-postmeddelanden snabbt.

Här är hela koden:

importera win32com.client
ol=win32com.client. Avsändande("outlook.application")
olmailitem=0x0#storlek på det nya e-postmeddelandet
newmail=ol. CreateItem (olmailitem)
nymail. Ämne= "Testa mail"
nymail. Till='[email protected]'
nymail. CC='[email protected]'
nymail. Kropp= "Hej, det här är ett testmeddelande för att visa hur man skickar e-postmeddelanden från Python och Outlook."
# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# nymail.Bilagor.Lägg till(bifoga)
# För att visa e-postmeddelandet innan du skickar det
# newmail. Visa()
nymail.Skicka()

Fördelar med Python Email Automation

Python e-postautomatisering gör att du kan skicka e-postmeddelanden direkt från ditt Python-gränssnitt utan att öppna MS Outlook. Om du är en ivrig användare av Python och inte är så sugen på att öppna en e-postklient upprepade gånger för att skriva ut e-postmeddelanden, kan du låta programmeringsspråket göra det åt dig.

Varför spendera timmar på att göra repetitiva uppgifter när du kan skicka automatiska e-postmeddelanden med Python med några rader kod?