Hur man automatiserar Outlook-e-postmeddelanden med Python
Python har mycket att erbjuda när det gäller automatisering, och du kan uppnå många funktioner med bara några rader kod. Språket har blivit populärt inom många områden, från dataanalys till systemadministration.
Outlook är ett mycket använt e-postprogram, och med Pythons möjligheter att automatisera Outlook kan användarna effektivt skicka meddelanden med minimal ansträngning.
För att få kunskap om hur man skickar automatiserade meddelanden via e-post med hjälp av Microsoft Outlook-programmet i Python, är det viktigt att du fortsätter att läsa.
Uppfylla några förutsättningar
Att inleda processen, du kommer att behöva för att få och ställa in de nödvändiga programvarukomponenter. Detta kan innebära nedladdning och installation av specifika applikationer eller moduler som krävs för den aktuella uppgiften. När dessa har installerats kan du fortsätta med att konfigurera dem efter dina behov och integrera dem i ditt arbetsflöde på lämpligt sätt.
Microsoft Outlook är en populär e-postklient som kräver installation på din dator för att fungera korrekt. Den kan användas tillsammans med olika e-postleverantörer, inklusive Gmail-konton och andra.
Modulen win32com.client
möjliggör sömlös interaktion med olika Microsoft-program via Python. Bland dessa program är Microsoft Outlook ett anmärkningsvärt exempel som kräver integrering av detta bibliotek för att upprätta anslutningar till Outlook Exchange Server.
Installera win32com.client
Använda win32com.client
utgör en avgörande komponent i detta skript, vilket underlättar sömlös interoperabilitet mellan Microsoft Outlook och Python genom att utnyttja ett omfattande bibliotek som möjliggör robust etablering av kommunikation mellan dessa två plattformar.
Kontrollera win32com.client Version
Före installationen kan man kontrollera om win32com-modulen har förinstallerats på deras system. I vissa fall inkluderar specifika IDE-iterationer (Integrated Development Environment) detta paket som en standardkomponent. Tillgängligheten av win32com-modulen kan bekräftas med följande kommando.
python -m pip show pywin32
För att åtgärda felet “‘pip’ identifieras inte som ett internt eller externt kommando’” kan det vara nödvändigt att installera pip på operativsystemet om det inte redan är tillgängligt.Detta kan göras genom att ladda ner och köra det lämpliga installationsprogrammet för Windows, macOS eller Linux från Pythons officiella webbplats eller med hjälp av pakethanterare som Homebrew (för macOS) eller APT/APT-GET (för Ubuntu).
Om du efter att ha utfört det tidigare nämnda kommandot får ett versionsnummer behöver du inte installera något ytterligare eftersom det redan har installerats på ditt system.
Om du stöter på ett felmeddelande som anger att den nödvändiga komponenten saknas kan det vara nödvändigt att installera biblioteket “win32com” på din enhet för att lösa problemet.
'pywin32' is not recognized as an internal or external command, operable program, or batch file.
Installera win32com-biblioteket
Öppna en terminal eller ett kommandotolksfönster, navigera till önskad katalog och ange lämpligt pip-kommando för att installera det begärda biblioteket.
python -m pip install pywin32
Följ anvisningarna på skärmen för att slutföra installationen. För att bekräfta att win32com
har installerats kan du använda kommandot show
efter att installationen har slutförts.
python -m pip show pywin32
Skicka e-post från Python med Outlook
Outlook är en gammal och utbredd e-postklient som har en betydande position bland de högst rankade e-postprogrammen och som bara överträffas av Gmail och Yahoo när det gäller popularitet. Det är värt att notera att Python erbjuder sömlös integration med Outlook, vilket gör det möjligt för användare att enkelt hantera sin e-postkorrespondens från praktiskt taget var som helst.
Efter att ha uppfyllt de ovan nämnda förutsättningarna är det nu dags att börja koda för att automatisera e-postsändning via Outlook med hjälp av Python. För att påbörja denna process måste man införliva biblioteket win32com.client via import-satsen.
import win32com.client
Med hjälp av Python kan du nu upprätta en anslutning till Microsofts e-postplattform, Outlook.
ol = win32com.client.Dispatch('Outlook.Application')
Var:
⭐lagrar anslutningsreferensen.
Win32COM-klientbiblioteket fungerar som ett gränssnitt för att underlätta kommunikationen mellan Python och Microsoft Outlook, så att användarna kan utnyttja funktionerna i båda plattformarna i tandem.
Dispatch-funktionen används för att upprätta en anslutning genom dess implementering.
Outlook.Application-objektet representerar det program som används för att upprätta en anslutning till Microsoft Outlook, och fungerar som en grundläggande byggsten för att arbeta med e-postmeddelanden i Extensis Mailer.
För att Python effektivt skall kunna uppdatera den angivna regionen i e-postmeddelandet, är det viktigt att fastställa dimensionerna för meddelandet i fråga. Detta gör det möjligt för programmet att identifiera exakt var informationen ska ändras.
# size of the new email
olmailitem = 0x0
Var:
En ny variabel har introducerats, benämnd “olmailitem”, som kommer att användas för att lagra dimensionsinformation.
Dimensionen för det nyskapade elektroniska meddelandet i Pythonprogrammets interna lagringsutrymme är en abstraktion som representeras av symbolen ‘0x0’.
När du har definierat de dimensionella parametrarna för ett e-postmeddelande i Python, kommer dess funktioner automatiskt att generera ett nytt e-postmeddelande.
newmail = ol.CreateItem(olmailitem)
Var:
En ny variabel har introducerats med namnet “newmail”, som fungerar som ett lagringsutrymme för den senaste e-postreferensen.
Den angivna koden är en referens till en redan existerande integration mellan Python och Microsoft Outlook, som möjliggör kommunikation mellan de två plattformarna.
Instruktionen för att generera ett pågående e-postmeddelande kallas “CreateItem(olmailitem)”, som utförs med hjälp av ett kommando.
En tydlig ämnesrad är nödvändig för varje elektroniskt meddelande, och man kan ange den programmatiskt så att Python-programmet lägger till den automatiskt innan korrespondensen skickas till den avsedda mottagaren.
newmail.Subject = 'Testing Mail'
Var:
Variabeln newmail
fungerar som en lagringsmekanism för referensen till ett nyligen mottaget e-postmeddelande.
Ämnet för ett e-postmeddelande är ett ämne eller tema som fungerar som fokus för kommunikationen och kan skräddarsys efter egna preferenser.
Du kan inkludera de angivna mottagarna genom att infoga dem i e-postfälten “Till” och “CC”, som visas nedan:
newmail.To = '[email protected]'
newmail.CC = '[email protected]'
Var:
⭐Till: Huvudmottagarens e-postadress.
⭐CC: Kopierade e-postmottagare.
På liknande sätt kan man inkludera BCC-fältet (blind carbon copy) genom att använda den efterföljande deklarationen som bifogas cc-instruktionen när man skickar korrespondens anonymt till alla avsedda mottagare.
newmail.BCC = '[email protected]'
Pythons förmåga att interagera med Microsoft Outlook möjliggör sömlös integrering av dess funktioner när man använder skriptspråket.Detta innebär att även om man använder Python för att hantera e-postkommunikation, är det fortfarande möjligt att skicka meddelanden till flera mottagare genom att helt enkelt inkludera semikolon som separatorer i “To”, “Cc” eller “Bcc” fälten.
När du har angett de avsedda mottagarna och ämnet för din korrespondens kan du fortsätta att skriva meddelandet i ett nyskapat e-postmeddelande, som sedan skickas till de angivna mottagarna via de ovan nämnda fälten “To” och “CC”.
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
För att inkludera ytterligare filer i ditt elektroniska meddelande, använd följande instruktioner:
attach = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
newmail.Attachments.Add(attach)
E-postmeddelandet förbereds för avsändning och presenterar två tillgängliga alternativ. Du kan välja att läsa en förhandstitt på ditt meddelande innan du skickar det vidare till de avsedda mottagarna genom att använda kommandot “Display” på det sätt som beskrivs nedan:
newmail.Display()
Alternativt, för de som föredrar att inte granska e-postmeddelandet innan det skickas och väljer en omedelbar avsändning, kan man ersätta kommandotDisplay() med kommandotSend().
newmail.Send()
Att skicka ett e-postmeddelande via Send()-funktionen kan vara en utmaning eftersom det inte ger någon preliminär förhandsgranskning av meddelandets innehåll. Det är viktigt att vara försiktig när du använder den här funktionen, särskilt för dem som ofta ändrar innehållet i sina e-postmeddelanden.
Här är den fullständiga koden:
import win32com.client
ol=win32com.client.Dispatch("outlook.application")
olmailitem=0x0 #size of the new email
newmail=ol.CreateItem(olmailitem)
newmail.Subject= 'Testing Mail'
newmail.To='[email protected]'
newmail.CC='[email protected]'
newmail.Body= 'Hello, this is a test email.'
# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# newmail.Attachments.Add(attach)
# To display the mail before sending it
# newmail.Display()
newmail.Send()
När koden har utförts ska den automatiska e-postöverföringen påbörjas. Om några problem uppstår under e-postutskicket kan det bero på ett konfigurationsproblem i Outlook. För att börja lösa detta problem, överväga att undersöka och ta itu med de typiska Outlook-svårigheter som är kända för att orsaka sådana komplikationer.
Fördelarna med Python Email Automation
Genom att använda Python för att automatisera dina e-postmeddelanden behöver du inte öppna Microsoft Outlook varje gång du vill skriva ett meddelande. För dem som ofta använder Python i sin dagliga rutin men tycker att det är tråkigt att hela tiden behöva öppna en e-postklient är detta ett bekvämt alternativ.
Istället för att lägga ner mycket tid på att utföra återkommande uppgifter kan man effektivt använda Python för att skapa automatiserade e-postkorrespondenser med hjälp av ett minimalt antal kodrader.