Knowledgebase

Invia un'email con Python [Con allegato] - Nuovo tutorial

Scopri come inviare facilmente email con Python utilizzando l’API Aspose. Con la libreria Aspose.Email for Python via .NET è possibile creare, convertire, inviare, ricevere o manipolare messaggi email, inclusi i formati MSG , PST , EML , EMLX e molti altri formati di file.

Invia un’email con Python

Aspose.Email for Python via .NET è un’API di programmazione email robusta e potente per creare, manipolare e convertire i formati di messaggi email più comuni senza doversi preoccupare delle complessità del formato sottostante. È una libreria di classi facile da usare, progettata per fornire un componente di programmazione email eccezionale e affidabile. Aspose.Email for Python consente di risparmiare tempo e sforzi, permettendo di codificare rapidamente e facilmente la gestione complessa dei file di messaggi nelle proprie applicazioni.

La nostra API può essere utilizzata per eseguire una varietà di attività nelle applicazioni e può essere integrata con qualsiasi tipo di applicazione. Forniamo esempi di codice per far partire rapidamente gli sviluppatori.

Funzionalità di Aspose.Email for Python via .NET:

  • Conversione e rendering dei formati email
  • Invio e ricezione dei formati email più comuni, inclusi gli allegati
  • Download di email da server IMAP e POP3
  • Manipolazione (creazione e aggiornamento) di attività tramite iCalendar
  • Gestione dei file di archiviazione dei messaggi
  • Gestione degli allegati email
  • Manipolazione di riunioni o appuntamenti conformi a iCalendar
  • Supporto TLS e SSL
  • Allegati TNEF

Formati di file supportati:

  • MSG – formato Microsoft Outlook ed Exchange per la memorizzazione di messaggi email, appuntamenti e attività simili
  • PST – file di archiviazione personale di Outlook per la memorizzazione di email, calendari, contatti e altri dati
  • OST – dati della casella di posta dell’utente sul computer locale dopo la registrazione al server Exchange con Microsoft Outlook
  • OFT – file modello di messaggi Microsoft Outlook
  • EML – messaggi email salvati con Outlook o applicazioni simili
  • EMLX – file di testo sviluppato e implementato da Apple
  • MBOX – utilizzato per la raccolta di messaggi di posta elettronica
  • ICS – formato iCalendar per la condivisione di eventi e la pianificazione di attività via email
  • VCF – formato per biglietti da visita elettronici e memorizzazione di informazioni di contatto
  • HTML – linguaggio di markup per pagine web visualizzabili nei browser
  • MHTML – formato di archivio che contiene il contenuto di una pagina web

Crea e imposta il contenuto dell’email usando Python

Crea un messaggio email

Con la classe MailMessage gli sviluppatori possono creare un nuovo messaggio email. Questa classe rappresenta un messaggio email. Proprietà come From, To, Subject e Body possono essere facilmente impostate sul messaggio creato.

Eseguiremo i seguenti passaggi per creare un nuovo messaggio email:

  1. Creare un’istanza della classe MailMessage
  2. Impostare le proprietà del messaggio email
  3. Salvare i messaggi email in diversi formati, come EML, MSG e MHTML

Il frammento di codice qui sotto mostra come creare una nuova email con proprietà diverse:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "New MailMessage created with Aspose.Email for Python"
eml.html_body = "<b>This line is in bold </b> while this is normal text"
eml.from_address = "from@domain.com"

eml.to.append(ae.MailAddress("to1@domain.com", "Recipient 1"))
eml.to.append(ae.MailAddress("to2@domain.com", "Recipient 2"))

eml.cc.append(ae.MailAddress("cc1@domain.com", "Recipient 3"))
eml.cc.append(ae.MailAddress("cc2@domain.com", "Recipient 4"))

#Save generated EML in different formats to disc
eml.save(dataDir + "CreateNewMailMessage_out.eml")
eml.save(dataDir + "CreateNewMailMessage_out.msg", ae.SaveOptions.default_msg_unicode)
eml.save(dataDir + "message_out.msg", ae.SaveOptions.default_msg)
eml.save(dataDir + "message_out.mhtml", ae.SaveOptions.default_mhtml)
eml.save(dataDir + "message_out.html", ae.SaveOptions.default_html)

Impostazione del corpo HTML del messaggio

Con HtmlBody specifichiamo il contenuto HTML del corpo del messaggio. Il frammento di codice qui sotto mostra come impostare il corpo HTML:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()

# Specify HtmlBody
eml.html_body = "<html><body>This is the HTML body</body></html>"

Impostazione del testo alternativo nel messaggio email

La classe AlternateView specifica copie di un messaggio email in formati diversi e dispone di due proprietà:

  • LinkedResources, usata durante il rendering; gli URL nel contenuto dell’email vengono confrontati e risolti rispetto agli URL nel Content Link di ciascun oggetto LinkedResources nella collezione LinkedResources
  • BaseUri, usata dal lettore di posta per risolvere gli URL relativi all’interno del corpo

Il frammento di codice di esempio è il seguente:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()

# Creates AlternateView to view an email message using the content specified in the //string
alternate = AlternateView.create_alternate_view_from_string("Alternate Text")

# Adding alternate text
eml.add_alternate_view(alternate)

Aggiungere un allegato a un’email

Seguiamo questi passaggi per aggiungere un allegato a un’email:

  1. Creare un’istanza delle classi MailMessage e Attachment
  2. Caricare l’allegato nell’istanza Attachment
  3. Aggiungere l’istanza Attachment all’istanza della classe MailMessage

Il frammento di codice qui sotto mostra un esempio di come aggiungere un allegato a un’email:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Create an instance of MailMessage class
message = MailMessage("sender@domain.com", "receiver@domain.com")

# Load an attachment
attachment = Attachment(dataDir + "1.txt");

# Add Multiple Attachment in instance of MailMessage class and Save message to disk
message.attachments.append(attachment);
message.add_attachment(Attachment(dataDir + "1.jpg"))
message.add_attachment(Attachment(dataDir + "1.doc"))
message.add_attachment(Attachment(dataDir + "1.rar"))
message.add_attachment(Attachment(dataDir + "1.pdf"))
message.save(dataDir + "AddEmailAttachments_out.msg", SaveOptions.default_msg_unicode)

Invia un’email usando Python

Aspose.Email for Python consente di inviare email tramite server SMTP, POP3 e IMAP. È possibile accedere facilmente ai server POP3 con le proprie credenziali (nome utente e password) o con l’autenticazione APOP per eseguire operazioni email come visualizzare la dimensione della casella, il numero di messaggi, recuperare l’intero messaggio o solo l’intestazione, eliminare messaggi dal server e utilizzare i comandi POP3 di base.

Aspose.Email for Python supporta anche il protocollo IMAP, inclusi i relativi comandi, l’autenticazione, la selezione, la creazione, l’eliminazione, la ricerca di cartelle, il salvataggio dei messaggi, la gestione delle etichette e altro ancora.

Invio di messaggi con client SMTP

Per inviare un messaggio email con Python, seguiamo questi passaggi:

  1. Creare un’istanza della classe MailMessage
  2. Specificare gli indirizzi email del mittente e del destinatario nell’istanza MailMessage
  3. Specificare il contenuto TextBody
  4. Creare un’istanza della classe SmtpClient e inviare il messaggio

Il frammento di codice seguente mostra come inviare un’email di testo usando Python:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
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"))

#Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

client.send(eml)

Se hai bisogno di assistenza per il tuo progetto, puoi sempre contattare i nostri esperti di Consulenza a pagamento . Il nostro team lavorerà con te per trovare la soluzione migliore per il tuo progetto, implementarla correttamente e offrirti il miglior valore.
Puoi contare su di noi per la tua crescita e sviluppo futuri.