Όταν μιλάμε για Python, είναι δύσκολο να παραβλέψουμε πόσο εξαπλώνονται οι λειτουργίες και τι μπορείτε να επιτύχετε με λίγα μόνο κομμάτια κώδικα. Σήμερα, η αποστολή και η λήψη email είναι το πιο σχετικό πράγμα και η αυτοματοποίηση email της Python στο Microsoft Outlook κάνει τα πράγματα πιο εύχρηστα.
Γιατί να ξοδεύετε ατελείωτες στιγμές με τη συλλογή μηνυμάτων ηλεκτρονικού ταχυδρομείου σε ένα πρόγραμμα-πελάτη ηλεκτρονικού ταχυδρομείου, όταν μπορείτε να αφήσετε την Python να το κάνει για εσάς σε μία μόνο περίπτωση; Αν σας ενδιαφέρει, πρέπει να διαβάσετε για να δείτε πώς μπορείτε να στείλετε αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου από την Python χρησιμοποιώντας το Microsoft Outlook.
Εκπλήρωση λίγων προαπαιτούμενων
Λαμβάνοντας υπόψη τις δύο κύριες πλατφόρμες που αναφέρονται σε αυτόν τον οδηγό, αυτές είναι οι προϋποθέσεις για την ενεργοποίηση αυτής της απλής αλλά χρήσιμης εργασίας. Για να ξεκινήσετε, κατεβάστε και εγκαταστήστε τα παρακάτω:
- Microsoft Outlook: Πρέπει να έχετε εγκατεστημένη και να εκτελείτε την εφαρμογή MS Outlook στο σύστημά σας. Μπορείτε να χρησιμοποιήσετε οποιονδήποτε τομέα ηλεκτρονικού ταχυδρομείου με το Outlook, καθώς δεν έχει περιορισμούς σχετικά με τις διαμορφώσεις email.
- win32com.client: Αυτή η βιβλιοθήκη τρίτου κατασκευαστή είναι απαραίτητη για τη σύνδεση με τις εφαρμογές της Microsoft. Δεδομένου ότι το Microsoft Outlook είναι μια τέτοια εφαρμογή, χρειάζεστε αυτήν τη βιβλιοθήκη εντός της Python για να συνδεθείτε στον διακομιστή ανταλλαγής Outlook.
Το Microsoft Outlook είναι ένα από τα παλαιότερα και πιο ευρέως χρησιμοποιούμενα προγράμματα-πελάτες ηλεκτρονικού ταχυδρομείου, το οποίο κατατάσσεται στη λίστα των οι πιο δημοφιλείς πάροχοι email μετά το Gmail και το Yahoo. Σε αυτόν τον οδηγό, μια διεύθυνση Gmail έχει ρυθμιστεί στο Outlook.
Το win32com.client είναι μια αναπόσπαστη πτυχή αυτού του κώδικα και χρειάζεστε μια πλήρως λειτουργική βιβλιοθήκη για να δημιουργήσετε μια σύνδεση μεταξύ του Microsoft Outlook και της Python.
Πριν την εγκατάσταση, μπορείτε να ελέγξετε εάν win32com είναι ήδη εγκατεστημένο στο μηχάνημά σας. Ορισμένες εκδόσεις IDE προσφέρουν αυτό το πακέτο από προεπιλογή. Μπορείτε να διασταυρώσετε εάν είναι διαθέσιμο με την ακόλουθη εντολή.
πύθωνας -m pip προβολή pywin32
Εάν λάβετε ένα σφάλμα Το 'pip' δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή ενώ εκτελείτε την παραπάνω εντολή, μπορείτε εγκαταστήστε το pip σε Windows, Mac και Linux, για να διασφαλίσετε ότι οι εγκαταστάσεις της βιβλιοθήκης σας είναι απρόσκοπτες.
Αφού εκτελέσετε την παραπάνω εντολή, εάν λάβετε έναν αριθμό έκδοσης, δεν χρειάζεται να τον εγκαταστήσετε ξανά.
Στη συνέχεια, εάν λάβετε το ακόλουθο μήνυμα λάθους, πρέπει να εγκαταστήσετε το win32com βιβλιοθήκη στο σύστημά σας:
'pywin32'είναιδεν αναγνωρισμένος όπως και ένα εσωτερικό ή εξωτερική εντολή, λειτουργικό πρόγραμμα, ή αρχείο δέσμης.
Ανοίξτε την προτροπή και πληκτρολογήστε το κουκούτσι εντολή για την εγκατάσταση της βιβλιοθήκης από το παράθυρο του τερματικού.
πύθωνας -m pip εγκαθιστώ pywin32
Ακολουθήστε τις οδηγίες στην οθόνη για να ολοκληρώσετε τη διαδικασία. Μπορείτε να χρησιμοποιήσετε το --προβολή εντολή μετά την εγκατάσταση για να επαληθεύσετε εάν win32com εγκαταστάθηκε με επιτυχία στο σύστημά σας.
πύθωνας -m pip προβολή pywin32
Αποστολή email από την Python χρησιμοποιώντας το Outlook
Εφόσον τα προαπαιτούμενα έχουν ληφθεί μέριμνα, ήρθε η ώρα να αρχίσετε να γράφετε τον κώδικα. Για να ξεκινήσετε, πρέπει να εισαγάγετε το win32com.client βιβλιοθήκη χρησιμοποιώντας το εισαγωγή δήλωση.
εισαγωγή win32com.client
Τώρα μπορείτε να γράψετε κώδικα για να συνδέσετε την Python και την εφαρμογή email της Microsoft, το Outlook.
ol = win32com.client. Επιστολή('Αποψη. Εφαρμογή')
Οπου:
- ol: Νέα μεταβλητή για την αποθήκευση της αναφοράς σύνδεσης.
- win32com.client: Βιβλιοθήκη των Windows για τη δημιουργία σύνδεσης μεταξύ Python και Outlook.
- Επιστολή: Λειτουργία για τη δημιουργία της σύνδεσης.
- Αποψη. Εφαρμογή: Μπορεί να αντικατασταθεί με οποιοδήποτε όνομα εφαρμογής της Microsoft, όπως απαιτείται.
Στη συνέχεια, είναι απαραίτητο να καθοριστούν οι διαστάσεις του νέου μηνύματος email, έτσι ώστε η Python να κατανοήσει πού πρέπει να ενημερωθεί το περιεχόμενο.
# μέγεθος του νέου email
olmailitem = 0x0
Οπου:
- olmailitem: Νέα μεταβλητή για την αποθήκευση των διαστάσεων.
- 0x0: Διαστάσεις του νέου μηνύματος email στη μνήμη της Python.
Οι συναρτήσεις της Python ανοίγουν ένα νέο στοιχείο email, αμέσως μόλις ορίσετε τις διαστάσεις του σώματος του email.
newmail = ολ. CreateItem (olmailitem)
Οπου:
- newmail: Νέα μεταβλητή για την αποθήκευση της νέας αναφοράς email.
- ol: Αναφορά της σύνδεσης που δημιουργήθηκε προηγουμένως μεταξύ Python και Outlook.
- CreateItem (olmailitem): Εντολή για τη δημιουργία νέου προχείρου email.
Δεδομένου ότι κάθε email είναι ατελές χωρίς γραμμή θέματος, μπορείτε να το ορίσετε μέσα στον κώδικα, ώστε η Python να το προσθέτει αυτόματα πριν στείλει το email στον παραλήπτη. Αυτό θα είναι ορατό στον παραλήπτη, επομένως προσέξτε πώς ορίζετε την περίπτωση και το περιεχόμενο.
newmail. Υποκείμενο = "Δοκιμή αλληλογραφίας"
Οπου:
- newmail:Μεταβλητή για αποθήκευση της νέας αναφοράς αντικειμένου αλληλογραφίας.
- Θέμα: Αυτό μπορεί να διαφέρει, ανάλογα με το τι θέλετε να έχετε ως θέμα για το email σας.
Μπορείτε να προσθέσετε τους προβλεπόμενους παραλήπτες στο Προς την και CC λέξεις-κλειδιά ως εξής:
newmail. Προς = '[email protected]'
newmail. CC = '[email protected]'
Οπου:
- Προς την: Διεύθυνση email του κύριου παραλήπτη.
- CC: Αντιγραμμένοι παραλήπτες email.
Με την Python, μπορείτε να στείλετε email σε πολλούς παραλήπτες. Πρόσθεσε ένα άνω τελεία (;) διαχωριστικό μεταξύ των αναγνωριστικών email στη στήλη Προς/Κοινοποίηση.
Τέλος, αφού ορίσετε το θέμα και τους παραλήπτες, μπορείτε να προσθέσετε το σώμα του email στο νέο αντικείμενο αλληλογραφίας πριν το στείλετε στους παραλήπτες εντός του Προς την και CC στήλες.
newmail. Σώμα= "Γεια σας, αυτό είναι ένα δοκιμαστικό μήνυμα ηλεκτρονικού ταχυδρομείου για να παρουσιάσετε τον τρόπο αποστολής μηνυμάτων ηλεκτρονικού ταχυδρομείου από την Python και το Outlook."
Για να προσθέσετε συνημμένα στο email σας, μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές:
επισυνάπτω = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
newmail.Συνημμένα.Προσθήκη(συνδέω)
Καθώς το email είναι έτοιμο για αποστολή, υπάρχουν δύο επιλογές που μπορείτε να χρησιμοποιήσετε. Εάν θέλετε μια προεπισκόπηση του email σας πριν το στείλετε στους παραλήπτες, μπορείτε να χρησιμοποιήσετε το Απεικόνιση() εντολή ως εξής:
newmail.Απεικόνιση()
Μπορείτε να χρησιμοποιήσετε το Στείλετε() εντολή εάν θέλετε να στείλετε το email χωρίς να το ελέγξετε εκ των προτέρων.
newmail.Στείλετε()
Θυμηθείτε, δεν θα δείτε μια προεπισκόπηση του μηνύματος ηλεκτρονικού ταχυδρομείου εάν το χρησιμοποιήσετε Στείλετε εντολή απευθείας. Χρησιμοποιήστε αυτήν την εντολή με σύνεση, εάν αλλάζετε τακτικά το περιεχόμενο του σώματος του email σας. Μπορείτε να χρησιμοποιήσετε τον κώδικα Python με μία κίνηση για να εισαγάγετε τη βιβλιοθήκη, να δημιουργήσετε τη σύνδεση και να στείλετε τα μηνύματα ηλεκτρονικού ταχυδρομείου γρήγορα.
Εδώ είναι ο πλήρης κώδικας:
εισαγωγή win32com.client
ol=win32com.client. Επιστολή("outlook.application")
olmailitem=0x0#μέγεθος του νέου email
newmail=ol. CreateItem (olmailitem)
newmail. Θέμα= "Δοκιμή αλληλογραφίας"
newmail. Προς='[email protected]'
newmail. CC='[email protected]'
newmail. Σώμα= "Γεια σας, αυτό είναι ένα δοκιμαστικό μήνυμα ηλεκτρονικού ταχυδρομείου για να παρουσιάσετε τον τρόπο αποστολής μηνυμάτων ηλεκτρονικού ταχυδρομείου από την Python και το Outlook."
# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# newmail.Συνημμένα.Προσθήκη(συνδέω)
# Για εμφάνιση της αλληλογραφίας πριν την αποστολή της
# newmail. Απεικόνιση()
newmail.Στείλετε()
Οφέλη από την Python Email Automation
Η αυτοματοποίηση email Python σάς δίνει τη δυνατότητα να στέλνετε email απευθείας από τη διεπαφή Python χωρίς να ανοίξετε το MS Outlook. Εάν είστε άπληστος χρήστης της Python και δεν επιθυμείτε να ανοίγετε επανειλημμένα ένα πρόγραμμα-πελάτη email για να πληκτρολογείτε email, μπορείτε να αφήσετε τη γλώσσα προγραμματισμού να το κάνει για εσάς.
Γιατί να ξοδεύετε ώρες κάνοντας επαναλαμβανόμενες εργασίες, όταν μπορείτε να στέλνετε αυτοματοποιημένα email χρησιμοποιώντας την Python με μερικές γραμμές κώδικα;