Invia e-mail in Python

Le e-mail automatizzate sono ampiamente utilizzate per inviare notifiche o altri messaggi agli abbonati. Inoltre, vengono attivate varie e-mail in base alle azioni o al comportamento degli utenti. Per implementare l’automazione della posta elettronica, questo articolo illustra come creare e inviare e-mail utilizzando SMTP in Python.

Libreria Python per creare e inviare e-mail tramite SMTP

Per creare e inviare e-mail utilizzando SMTP, utilizzeremo Aspose.Email for Python via .NET. È una potente libreria Python che ti consente di implementare client di posta elettronica ricchi di funzionalità. È possibile installare l’API da PyPI utilizzando il comando seguente.

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

Oppure, puoi seguire i passaggi seguenti per l’installazione manuale.

  • Scarica il file .whl installabile dalla sezione download.
  • Dalla riga di comando, utilizzare il comando: pip install «FileName> >.whl per installare l’API.
  • Scarica un pacchetto completo di esempi di codice sorgente da GitHub.

Crea e invia e-mail tramite SMTP in Python

Di seguito sono riportati i passaggi per creare e inviare un’e-mail tramite SMTP in Python.

  • Crea un oggetto della classe MailMessage.
  • Imposta gli indirizzi di oggetto, corpo, mittente e destinatario.
  • Imposta Cc o Ccn (opzionale).
  • Crea un nuovo client SMTP utilizzando la classe SmtpClient e imposta host, porta, nome utente e password.
  • Imposta le opzioni di sicurezza.
  • Invia e-mail utilizzando il metodo SmtpClient.send(MailMessage).

L’esempio di codice seguente mostra come creare e inviare e-mail in Python.

# Create email message
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"))

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send email
client.send(eml)

Invia e-mail con corpo HTML in Python

Di seguito sono riportati i passaggi per inviare e-mail con corpo HTML.

  • Crea un oggetto della classe MailMessage.
  • Imposta il corpo dell’email utilizzando la proprietà MailMessage.bodyhtml.
  • Imposta la proprietà MailMessage.isbodyhtml su true.
  • Assegna gli indirizzi di oggetto, mittente e destinatario.
  • Imposta Cc o Ccn (opzionale).
  • Crea un nuovo client SMTP utilizzando la classe SmtpClient e imposta host, porta, nome utente e password.
  • Invia e-mail utilizzando il metodo SmtpClient.send(MailMessage).

L’esempio di codice seguente mostra come inviare e-mail con corpo HTML in Python.

# Create email message with HTML body
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"))

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send email
client.send(eml)

Invia e-mail in blocco utilizzando SMTP in Python

Di seguito sono riportati i passaggi per inviare e-mail in blocco in Python.

  • Crea più messaggi di posta elettronica utilizzando la classe MailMessage e imposta le loro proprietà, come oggetto, destinatari, ecc.
  • Crea un oggetto della classe MailMessageCollection.
  • Aggiungi messaggi di posta elettronica alla raccolta utilizzando il metodo MailMessageCollection.append(MailMessage).
  • Crea un nuovo client SMTP utilizzando la classe SmtpClient e imposta host, porta, nome utente e password.
  • Invia e-mail utilizzando il metodo SmtpClient.send(MailMessageCollection).

L’esempio di codice seguente mostra come inviare e-mail in blocco in Python.

# Create multiple email messages
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?")

# Add messages to collection
manyMsg =  MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send emails
client.send(manyMsg)

Inoltra un messaggio e-mail in Python

Di seguito sono riportati i passaggi per inoltrare un messaggio di posta elettronica in Python.

  • Carica il messaggio di posta elettronica in un oggetto utilizzando il metodo MailMessage.load(String fileName).
  • Imposta l’indirizzo del destinatario.
  • Creare un client SMTP utilizzando la classe SmtpClient.
  • Inoltra messaggio utilizzando il metodo SmtpClient.forward().

L’esempio di codice seguente mostra come inoltrare un messaggio di posta elettronica in Python.

# Load email message to be forwarded
eml = MailMessage.load("Message.eml")

# Set recipient
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

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

Ottieni una licenza API gratuita

Puoi richiedere una Licenza temporanea gratuita per utilizzare l’API senza limitazioni di valutazione.

Dimostrazione dal vivo

Conclusione

In questo articolo, hai imparato come creare e inviare e-mail tramite SMTP in Python. Inoltre, hai visto come inviare e-mail in blocco con testo normale o corpo HTML a livello di codice. Puoi esplorare di più sull’API di posta elettronica Python utilizzando la documentazione. In caso di domande o domande, non esitare a farcelo sapere tramite il nostro forum.

Guarda anche