Skicka e-postmeddelanden i Python

Automatiserade e-postmeddelanden används ofta för att skicka meddelanden eller andra meddelanden till prenumeranter. Dessutom utlöses olika e-postmeddelanden baserat på användarnas handlingar eller beteende. För att implementera e-postautomatisering tar den här artikeln upp hur man skickar e-post via SMTP i Python. Dessutom kommer vi att demonstrera hur man skapar ett e-postmeddelande med vanlig text eller HTML-text från början.

Python-bibliotek för att skicka e-postmeddelanden via SMTP

För att skapa och skicka e-postmeddelanden med SMTP kommer vi att använda Aspose.Email för Python via .NET. Det är ett kraftfullt Python-bibliotek som låter dig implementera funktionsrika e-postklienter. Du kan installera API:t från PyPI med följande kommando.

pip install Aspose.Email-for-Python-via-NET

Eller så kan du följa stegen nedan för manuell installation.

  • Ladda ner den installerbara .whl-filen från avsnittet downloads.
  • Från kommandoraden, använd kommandot: pip install «FileName> >.whl för att installera API.
  • Ladda ner ett komplett paket med källkodsexempel från GitHub.

Skicka e-postmeddelanden via SMTP i Python

Följande är stegen för att skapa och skicka ett e-postmeddelande via SMTP i Python.

  • Skapa ett objekt av klassen MailMessage.
  • Ange ämne, text, avsändarens och mottagarens adresser.
  • Ställ in Kopia eller Hemlig kopia (valfritt).
  • Skapa en ny SMTP-klient med SmtpClient-klassen och ställ in värd, port, användarnamn och lösenord.
  • Ställ in säkerhetsalternativ.
  • Skicka e-post med metoden SmtpClient.send(MailMessage).

Följande kodexempel visar hur man skapar och skickar e-postmeddelanden i Python.

# Skapa e-postmeddelande
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"))

# Skapa SMTP-klient
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Skicka epost
client.send(eml)

Skicka e-postmeddelanden med HTML Body i Python

Följande är stegen för att skicka e-postmeddelanden med HTML-text i Python.

  • Skapa ett objekt av klassen MailMessage.
  • Ställ in brödtexten i e-postmeddelandet med egenskapen MailMessage.bodyhtml.
  • Ställ in egenskapen MailMessage.isbodyhtml på true.
  • Tilldela ämnes-, avsändarens och mottagarens adresser.
  • Ställ in Kopia eller Hemlig kopia (valfritt).
  • Skapa en ny SMTP-klient med SmtpClient-klassen och ställ in värd, port, användarnamn och lösenord.
  • Skicka e-post med metoden SmtpClient.send(MailMessage).

Följande kodexempel visar hur man skickar e-postmeddelanden med HTML-text i Python.

# Skapa e-postmeddelande med HTML-text
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"))

# Skapa SMTP-klient
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Skicka epost
client.send(eml)

Python-kod för att skicka massmeddelanden

Följande är stegen för att skicka massmeddelanden i Python.

  • Skapa flera e-postmeddelanden med MailMessage-klassen och ställ in deras egenskaper, såsom ämne, mottagare, etc.
  • Skapa ett objekt av klassen MailMessageCollection.
  • Lägg till e-postmeddelanden till samlingen med metoden MailMessageCollection.append(MailMessage).
  • Skapa en ny SMTP-klient med SmtpClient-klassen och ställ in värd, port, användarnamn och lösenord.
  • Skicka e-post med metoden SmtpClient.send(MailMessageCollection).

Följande kodexempel visar hur man skickar massmeddelanden via SMTP i Python.

# Skapa flera e-postmeddelanden
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?")

# Lägg till meddelanden i samlingen
manyMsg =  MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)

# Skapa SMTP-klient
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Skicka e-mail
client.send(manyMsg)

Hur man vidarebefordrar ett e-postmeddelande i Python

Följande är stegen för att vidarebefordra ett e-postmeddelande i Python.

  • Ladda e-postmeddelandet i ett objekt med metoden MailMessage.load(String fileName).
  • Ställ in mottagarens adress.
  • Skapa en SMTP-klient med klassen SmtpClient.
  • Vidarebefordra meddelande med metoden SmtpClient.forward().

Följande kodexempel visar hur man vidarebefordrar ett e-postmeddelande i Python.

# Ladda e-postmeddelande som ska vidarebefordras
eml = MailMessage.load("Message.eml")

# Ställ in mottagare
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Skicka med Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)

Python-bibliotek för att skicka e-postmeddelanden - Skaffa en gratis licens

Du kan få en Free Temporary License och skicka e-post via SMTP utan utvärderingsbegränsningar.

Aspose Email Library för Python - Live Demo

Slutsats

I den här artikeln har du lärt dig hur du skapar och skickar e-postmeddelanden via SMTP i Python. Dessutom har du sett hur man skickar massmeddelanden med vanlig text eller HTML-text programmatiskt. Du kan utforska mer om Pythons e-post-API med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar är du välkommen att meddela oss via vårt forum.

Se även