So automatisieren Sie Outlook-E-Mails mit Python

So automatisieren Sie Outlook-E-Mails mit Python

Wenn man über Python spricht, ist es schwer zu übersehen, wie weit die Funktionalitäten reichen und was man mit nur wenigen Codes erreichen kann. Heutzutage ist das Senden und Empfangen von E-Mails das Wichtigste, und die E-Mail-Automatisierung von Python in Microsoft Outlook macht die Dinge praktischer.

Warum endlose Momente damit verbringen, E-Mails auf einem E-Mail-Client zu kompilieren, wenn Sie Python dies in einer einzigen Instanz für Sie erledigen lassen können? Wenn Sie neugierig sind, müssen Sie weiterlesen, um zu sehen, wie Sie automatisierte E-Mails von Python mit Microsoft Outlook senden können.

Erfüllung einiger Voraussetzungen

In Anbetracht der beiden Hauptplattformen, auf die in diesem Handbuch verwiesen wird, sind dies die Voraussetzungen für die Aktivierung dieser einfachen, aber hilfreichen Aufgabe. Laden Sie zunächst Folgendes herunter und installieren Sie es:

  • Microsoft Outlook: Die Anwendung MS Outlook muss auf Ihrem System installiert sein und ausgeführt werden. Sie können jede E-Mail-Domäne mit Outlook verwenden, da es keine Einschränkungen bezüglich E-Mail-Konfigurationen gibt.
  • win32com.client: Diese Bibliothek eines Drittanbieters ist für die Verbindung mit Ihren Microsoft-Anwendungen unerlässlich. Da Microsoft Outlook eine solche Anwendung ist, benötigen Sie diese Bibliothek in Python, um eine Verbindung zum Outlook-Exchange-Server herzustellen.

Microsoft Outlook ist einer der ältesten und am weitesten verbreiteten E-Mail-Clients, der in der Liste der beliebtesten E-Mail-Anbieter nach Gmail und Yahoo rangiert. In diesem Handbuch wird eine Gmail-Adresse in Outlook konfiguriert.

Installation des win32com.client

win32com.client ist ein integraler Bestandteil dieses Codes, und Sie benötigen eine voll funktionsfähige Bibliothek, um eine Verbindung zwischen Microsoft Outlook und Python herzustellen.

Überprüfen Sie die win32com.client-Version

Vor der Installation können Sie prüfen, ob win32com bereits auf Ihrem Rechner installiert ist. Einige IDE-Versionen bieten dieses Paket standardmäßig an. Sie können mit dem folgenden Befehl überprüfen, ob es verfügbar ist.

python -m pip show pywin32

Wenn Sie beim Ausführen des obigen Befehls die Fehlermeldung „pip“ wird nicht als interner oder externer Befehl erkannt erhalten, können Sie pip unter Windows, Mac und Linux installieren, um sicherzustellen, dass Ihre Bibliotheksinstallationen reibungslos verlaufen.

Wenn Sie nach dem Ausführen des obigen Befehls eine Versionsnummer erhalten, müssen Sie sie nicht erneut installieren.

Windows-Eingabeaufforderung mit Python-Bestätigungscode

Wenn Sie anschließend die folgende Fehlermeldung erhalten, müssen Sie die win32com- Bibliothek auf Ihrem System installieren:

'pywin32' is not recognized as an internal or external command, operable program, or batch file.

Win32com-Bibliothek installieren

Öffnen Sie die Eingabeaufforderung und geben Sie den Pip- Befehl ein, um die Bibliothek über das Terminalfenster zu installieren.

python -m pip install pywin32

Windows-Befehl mit Python-Installationsbefehlen

Befolgen Sie die Anweisungen auf dem Bildschirm, um den Vorgang abzuschließen. Sie können nach der Installation den Befehl –show verwenden , um zu überprüfen, ob win32com erfolgreich auf Ihrem System installiert wurde.

python -m pip show pywin32

Senden von E-Mails aus Python mit Outlook

Da die Voraussetzungen erfüllt sind, ist es an der Zeit, mit dem Schreiben des Codes zu beginnen. Zunächst müssen Sie die win32com.client- Bibliothek mit der import- Anweisung importieren.

import win32com.client

Sie können jetzt Code schreiben, um Python und die E-Mail-Anwendung Outlook von Microsoft zu verbinden.

ol = win32com.client.Dispatch('Outlook.Application')

Wo:

  • ol : Neue Variable zum Speichern der Verbindungsreferenz.
  • win32com.client : Windows-Bibliothek zum Herstellen einer Verbindung zwischen Python und Outlook.
  • Dispatch : Funktion zum Herstellen der Verbindung.
  • Outlook.Application : Dies kann bei Bedarf durch einen beliebigen Microsoft-Anwendungsnamen ersetzt werden.
Python-Code zum Importieren der Bibliothek in Jupyter Notebook

Als Nächstes müssen die Abmessungen der neuen E-Mail-Nachricht definiert werden, damit Python versteht, wo der Inhalt aktualisiert werden muss.

# size of the new email
olmailitem = 0x0

Wo:

  • olmailitem : Neue Variable zum Speichern der Abmessungen.
  • 0x0 : Abmessungen der neuen E-Mail-Nachricht im Speicher von Python.

Die Funktionen von Python öffnen ein neues E-Mail-Element, sobald Sie die Abmessungen des E-Mail-Texts definieren.

newmail = ol.CreateItem(olmailitem)

Wo:

  • newmail : Neue Variable zum Speichern der neuen E-Mail-Referenz.
  • ol : Referenz der zuvor erstellten Verbindung zwischen Python und Outlook.
  • CreateItem(olmailitem) : Befehl zum Erstellen eines neuen E-Mail-Entwurfs.

Da jede E-Mail ohne Betreffzeile unvollständig ist, können Sie diese im Code so definieren, dass Python sie automatisch hinzufügt, bevor die E-Mail an den Empfänger gesendet wird. Dies wird für den Empfänger sichtbar sein, seien Sie also vorsichtig, wie Sie den Fall und den Inhalt definieren.

newmail.Subject = 'Testing Mail'

Wo:

  • newmail : Variable zum Speichern der neuen Mail-Item-Referenz.
  • Betreff : Dies kann variieren, je nachdem, was Sie als Betreff für Ihre E-Mail haben möchten.

Sie können die beabsichtigten Empfänger innerhalb der Schlüsselwörter „An“ und „CC“ wie folgt hinzufügen:

newmail.To = 'xyz@gmail.com'
newmail.CC = 'xyz@gmail.com'

Wo:

  • An : E-Mail-Adresse des Hauptempfängers.
  • CC : Kopierte E-Mail-Empfänger.

Mit Python können Sie E-Mails an mehrere Empfänger senden. Fügen Sie ein Semikolon (;) als Trennzeichen zwischen E-Mail-IDs in der Spalte An/CC hinzu.

Nachdem Sie schließlich den Betreff und die Empfänger definiert haben, können Sie den E-Mail-Text der neuen E-Mail-Nachricht hinzufügen, bevor Sie sie an die Empfänger in den Spalten „ An “ und „CC“ senden .

newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'

Um Anhänge zu Ihrer E-Mail hinzuzufügen, können Sie die folgenden Befehle verwenden:

attach = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx' newmail.Attachments.Add(attach)

Da die E-Mail zum Senden bereit ist, gibt es zwei Optionen, die Sie verwenden können. Wenn Sie eine Vorschau Ihrer E-Mail wünschen, bevor Sie sie an die Empfänger senden, können Sie den Befehl Display() wie folgt verwenden:

newmail.Display()

Sie können den Befehl Send() verwenden , wenn Sie die E-Mail senden möchten, ohne sie vorher zu überprüfen.

newmail.Send()

Denken Sie daran, dass Sie keine Vorschau der E-Mail sehen, wenn Sie den Befehl „Senden“ direkt verwenden. Verwenden Sie diesen Befehl mit Bedacht, wenn Sie den Inhalt Ihres E-Mail-Texts regelmäßig ändern. Sie können den Python-Code auf einmal verwenden, um die Bibliothek zu importieren, die Verbindung herzustellen und die E-Mails schnell zu versenden.

Hier ist der vollständige Code:

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='xyz@gmail.com'
newmail.CC='xyz@gmail.com'
newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.'
# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# newmail.Attachments.Add(attach)
# To display the mail before sending it
# newmail.Display()
newmail.Send()

Outlook-E-Mail-Snippet, das mit Python gesendet wurde

Vorteile der Python-E-Mail-Automatisierung

Mit der Python-E-Mail-Automatisierung können Sie E-Mails direkt von Ihrer Python-Oberfläche aus senden, ohne MS Outlook zu öffnen. Wenn Sie ein begeisterter Benutzer von Python sind und nicht allzu scharf darauf sind, wiederholt einen E-Mail-Client zu öffnen, um E-Mails abzutippen, können Sie dies der Programmiersprache überlassen.

Warum Stunden mit sich wiederholenden Aufgaben verbringen, wenn Sie mit Python mit ein paar Zeilen Code automatisierte E-Mails versenden können?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert