Zautomatyzowane wiadomości e-mail są powszechnie używane do wysyłania powiadomień lub innych wiadomości do subskrybentów. Ponadto różne e-maile są wyzwalane na podstawie działań lub zachowań użytkowników. Aby zaimplementować automatyzację poczty e-mail, w tym artykule omówiono sposób wysyłania wiadomości e-mail przez SMTP w Python. Ponadto zademonstrujemy, jak utworzyć od podstaw wiadomość e-mail ze zwykłym tekstem lub treścią HTML.
- Biblioteka Python do wysyłania wiadomości e-mail — bezpłatne pobieranie
- Twórz i wysyłaj e-maile w Python
- Wysyłaj e-maile z treścią HTML w Python
- Wysyłaj masowe wiadomości e-mail
- Przekaż wiadomość e-mail
Biblioteka Python do wysyłania wiadomości e-mail przez SMTP
Do tworzenia i wysyłania e-maili za pomocą SMTP użyjemy Aspose.Email for Python via .NET. Jest to potężna biblioteka Python, która umożliwia wdrażanie bogatych w funkcje klientów poczty e-mail. Możesz zainstalować interfejs API z PyPI za pomocą następującego polecenia.
pip install Aspose.Email-for-Python-via-NET
Lub możesz wykonać poniższe kroki w celu instalacji ręcznej.
- Pobierz instalowalny plik .whl z sekcji pliki do pobrania.
- Z wiersza poleceń użyj polecenia: pip install «FileName> >.whl, aby zainstalować interfejs API.
- Pobierz kompletny pakiet próbek kodu źródłowego z GitHub.
Wysyłaj e-maile przez SMTP w Python
Poniżej przedstawiono kroki tworzenia i wysyłania wiadomości e-mail przez SMTP w Python.
- Utwórz obiekt klasy MailMessage.
- Ustaw temat, treść, adresy nadawcy i odbiorcy.
- Ustaw DW lub UDW (opcjonalnie).
- Utwórz nowego klienta SMTP przy użyciu klasy SmtpClient i ustaw hosta, port, nazwę użytkownika i hasło.
- Ustaw opcje bezpieczeństwa.
- Wyślij wiadomość e-mail przy użyciu metody SmtpClient.send(MailMessage).
Poniższy przykładowy kod pokazuje, jak tworzyć i wysyłać wiadomości e-mail w języku Python.
# Utwórz wiadomość e-mail
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Utwórz klienta SMTP
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Wysłać email
client.send(eml)
Wysyłaj e-maile z treścią HTML w Python
Poniżej przedstawiono kroki wysyłania wiadomości e-mail z treścią HTML w Python.
- Utwórz obiekt klasy MailMessage.
- Ustaw treść wiadomości e-mail za pomocą właściwości MailMessage.bodyhtml.
- Ustaw właściwość MailMessage.isbodyhtml na wartość true.
- Przypisz adresy tematu, nadawcy i odbiorcy.
- Ustaw DW lub UDW (opcjonalnie).
- Utwórz nowego klienta SMTP przy użyciu klasy SmtpClient i ustaw hosta, port, nazwę użytkownika i hasło.
- Wyślij wiadomość e-mail przy użyciu metody SmtpClient.send(MailMessage).
Poniższy przykładowy kod pokazuje, jak wysyłać wiadomości e-mail z treścią HTML w języku Python.
# Utwórz wiadomość e-mail z treścią HTML
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Utwórz klienta SMTP
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Wysłać email
client.send(eml)
Kod Python do wysyłania masowych wiadomości e-mail
Poniżej przedstawiono kroki wysyłania masowych wiadomości e-mail w Python.
- Twórz wiele wiadomości e-mail za pomocą klasy MailMessage i ustawiaj ich właściwości, takie jak temat, odbiorcy itp.
- Utwórz obiekt klasy MailMessageCollection.
- Dodaj wiadomości e-mail do kolekcji przy użyciu metody MailMessageCollection.append(MailMessage).
- Utwórz nowego klienta SMTP przy użyciu klasy SmtpClient i ustaw hosta, port, nazwę użytkownika i hasło.
- Wyślij wiadomość e-mail przy użyciu metody SmtpClient.send(MailMessageCollection).
Poniższy przykładowy kod pokazuje, jak wysyłać masowe wiadomości e-mail za pośrednictwem protokołu SMTP w języku Python.
# Twórz wiele wiadomości e-mail
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")
# Dodaj wiadomości do kolekcji
manyMsg = MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)
# Utwórz klienta SMTP
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Wysyłać emaile
client.send(manyMsg)
Jak przekazać wiadomość e-mail w Python
Poniżej przedstawiono kroki, aby przekazać wiadomość e-mail w języku Python.
- Załaduj wiadomość e-mail do obiektu przy użyciu metody MailMessage.load(String fileName).
- Ustaw adres odbiorcy.
- Utwórz klienta SMTP przy użyciu klasy SmtpClient.
- Przekaż wiadomość przy użyciu metody SmtpClient.forward().
Poniższy przykładowy kod pokazuje, jak przesłać dalej wiadomość e-mail w języku Python.
# Załaduj wiadomość e-mail do przekazania
eml = MailMessage.load("Message.eml")
# Ustaw odbiorcę
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Wyślij za pomocą klienta Smtp
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)
Biblioteka Python do wysyłania wiadomości e-mail — uzyskaj bezpłatną licencję
Możesz uzyskać Bezpłatną licencję tymczasową i wysyłać e-maile przez SMTP bez ograniczeń ewaluacyjnych.
Biblioteka poczty e-mail Aspose dla języka Python — wersja demonstracyjna na żywo
Wniosek
W tym artykule nauczyłeś się, jak tworzyć i wysyłać e-maile przez SMTP w Python. Ponadto widziałeś, jak programowo wysyłać masowe wiadomości e-mail ze zwykłym tekstem lub treścią HTML. Możesz dowiedzieć się więcej o interfejsie API poczty e-mail Python, korzystając z dokumentacji. Jeśli masz jakieś pytania lub wątpliwości, daj nam znać za pośrednictwem naszego forum.