Automatické e-maily se široce používají k zasílání oznámení nebo jiných zpráv odběratelům. Různé e-maily jsou také spouštěny na základě akcí nebo chování uživatelů. Aby bylo možné implementovat automatizaci e-mailů, tento článek popisuje, jak odesílat e-maily přes SMTP v Python. Kromě toho si ukážeme, jak vytvořit e-mailovou zprávu s prostým textem nebo tělem HTML od začátku.
- Knihovna Python pro odesílání e-mailů – ke stažení zdarma
- Vytvářejte a posílejte e-maily v Python
- Odesílejte e-maily s tělem HTML v Python
- Odesílejte hromadné e-maily
- Přeposlat e-mailovou zprávu
Knihovna Python pro odesílání e-mailů přes SMTP
Abychom mohli vytvářet a odesílat e-maily pomocí SMTP, použijeme Aspose.Email for Python přes .NET. Je to výkonná knihovna Python, která vám umožňuje implementovat e-mailové klienty s bohatými funkcemi. API můžete nainstalovat z PyPI pomocí následujícího příkazu.
pip install Aspose.Email-for-Python-via-NET
Nebo můžete postupovat podle níže uvedených kroků pro ruční instalaci.
- Stáhněte si instalovatelný soubor .whl ze sekce ke stažení.
- Z příkazového řádku použijte příkaz: pip install «FileName> >.whl k instalaci API.
- Stáhněte si kompletní balíček ukázek zdrojového kódu z GitHub.
Odesílejte e-maily přes SMTP v Python
Následují kroky k vytvoření a odeslání e-mailu přes SMTP v Python.
- Vytvořte objekt třídy MailMessage.
- Nastavte předmět, tělo, adresu odesílatele a příjemce.
- Nastavte kopii nebo skrytou kopii (volitelné).
- Vytvořte nového klienta SMTP pomocí třídy SmtpClient a nastavte hostitele, port, uživatelské jméno a heslo.
- Nastavte možnosti zabezpečení.
- Odešlete e-mail pomocí metody SmtpClient.send(MailMessage).
Následující ukázka kódu ukazuje, jak vytvářet a odesílat e-maily v Python.
# Vytvořit e-mailovou zprávu
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"))
# Vytvořte klienta SMTP
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Poslat e-mailem
client.send(eml)
Odesílejte e-maily s tělem HTML v Python
Následují kroky k odesílání e-mailů s tělem HTML v Python.
- Vytvořte objekt třídy MailMessage.
- Nastavte tělo e-mailu pomocí vlastnosti MailMessage.bodyhtml.
- Nastavte vlastnost MailMessage.isbodyhtml na true.
- Přiřaďte předmět, adresy odesílatele a příjemce.
- Nastavte kopii nebo skrytou kopii (volitelné).
- Vytvořte nového klienta SMTP pomocí třídy SmtpClient a nastavte hostitele, port, uživatelské jméno a heslo.
- Odešlete e-mail pomocí metody SmtpClient.send(MailMessage).
Následující ukázka kódu ukazuje, jak odesílat e-maily s tělem HTML v Python.
# Vytvořte e-mailovou zprávu s tělem 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"))
# Vytvořte klienta SMTP
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Poslat e-mailem
client.send(eml)
Kód Python pro odesílání hromadných e-mailů
Níže jsou uvedeny kroky k odesílání hromadných e-mailů v Python.
- Vytvořte více e-mailových zpráv pomocí třídy MailMessage a nastavte jejich vlastnosti, jako je předmět, příjemci atd.
- Vytvořte objekt třídy MailMessageCollection.
- Přidejte e-mailové zprávy do kolekce pomocí metody MailMessageCollection.append(MailMessage).
- Vytvořte nového klienta SMTP pomocí třídy SmtpClient a nastavte hostitele, port, uživatelské jméno a heslo.
- Odešlete e-mail pomocí metody SmtpClient.send(MailMessageCollection).
Následující ukázka kódu ukazuje, jak odesílat hromadné e-maily přes SMTP v Python.
# Vytvořte více e-mailových zpráv
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?")
# Přidejte zprávy do sbírky
manyMsg = MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)
# Vytvořte klienta SMTP
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# Odesílejte e-maily
client.send(manyMsg)
Jak přeposlat e-mailovou zprávu v Python
Níže jsou uvedeny kroky k předání e-mailové zprávy v Python.
- Načtěte e-mailovou zprávu do objektu pomocí metody MailMessage.load(String fileName).
- Nastavte adresu příjemce.
- Vytvořte klienta SMTP pomocí třídy SmtpClient.
- Přepošlete zprávu pomocí metody SmtpClient.forward().
Následující ukázka kódu ukazuje, jak přeposlat e-mailovou zprávu v Python.
# Načíst e-mailovou zprávu, která má být přeposlána
eml = MailMessage.load("Message.eml")
# Nastavit příjemce
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# Odešlete 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)
Knihovna Python pro odesílání e-mailů – Získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci a odesílat e-maily přes SMTP bez omezení hodnocení.
Aspose Email Library pro Python – živé demo
Závěr
V tomto článku jste se naučili vytvářet a odesílat e-maily přes SMTP v Python. Dále jste viděli, jak programově odesílat hromadné e-maily s prostým textem nebo tělem HTML. Více o e-mailovém API Python můžete prozkoumat pomocí dokumentace. V případě jakýchkoli dotazů nebo dotazů nás neváhejte kontaktovat prostřednictvím našeho fóra.