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 inviare e-mail
- Crea e invia email in Python
- Invia e-mail con corpo HTML
- Invia e-mail in blocco
- Inoltra un messaggio di posta elettronica
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.