Odesílejte e-maily v Python

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ů 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.

Viz také