Gestione avanzata dei messaggi email
Tracciare l’avanzamento della conversione del documento
Aspose.Email fornisce la possibilità di tracciare l’avanzamento della conversione del documento. Per questo, l’API fornisce SaveOptions.CustomProgressHandler. che rappresenta il metodo che gestisce gli eventi di avanzamento. I tipi di eventi di avanzamento sono rappresentati da ProgressEventType enumerazione. Il ProgressEventType l’enumerazione ha i seguenti membri.
- MimeStructureCreated: Questo evento informa che la struttura MIME è stata creata.
- MimePartSaved: Questo evento informa che il salvataggio di una parte MIME è terminato.
- SavedToStream: Questo evento informa che tutte le parti MIME sono state salvate nello stream.
Il codice di esempio seguente dimostra l’uso di SaveOptions.CustomProgressHandler e ProgressEventType l’enumerazione traccia l’avanzamento della conversione del documento.
Il seguente è il codice per la classe personalizzata utilizzata nell’esempio di codice mostrato sopra.
Genera collegamenti ipertestuali con stili personalizzati
Ci possono essere momenti in cui è necessario generare collegamenti ipertestuali con uno stile specifico in base ai requisiti della tua applicazione. Per questo, Aspose.Email fornisce HyperlinkRenderingCallback. Puoi passare il HyperlinkRenderingCallback come parametro di MailMessage.GetHtmlBodyText.
Il seguente frammento di codice mostra come utilizzare HyperlinkRenderingCallback per generare collegamenti ipertestuali usando il tuo stile personalizzato.
Visualizza le informazioni in ordine personalizzato nei file MHTML
Aspose.Email fornisce MhtSaveOptions.RenderingHeaders proprietà che restituisce l’elenco delle intestazioni per il rendering. Puoi aggiungere le intestazioni usando il MhtTemplateName classe. L’ordine in cui le intestazioni vengono aggiunte determina l’ordine in cui le informazioni sono visualizzate.
L’immagine seguente confronta i tre output generati dal codice di esempio.

Il seguente frammento di codice dimostra l’uso di MhtSaveOptions.RenderingHeaders proprietà per impostare l’ordine in cui le informazioni sono visualizzate nei file MHTML di output.
Visualizza partecipanti opzionali nei file MHT
Quando lavori con il formato MHT, puoi visualizzare o nascondere le informazioni sui partecipanti opzionali nell’intestazione degli eventi del calendario. Per configurare MhtSaveOptions per la gestione dei file MHT, devi capire come il MhtFormatOptions.RenderCalendarEvent e MhtFormatOptions.WriteHeader i parametri funzionano per personalizzare l’output in base alle tue esigenze, in particolare nella gestione della visualizzazione dei partecipanti opzionali.
-
MhtFormatOptions.RenderCalendarEvent: Questo parametro controlla se i dettagli degli eventi del calendario vengono renderizzati nel file MHT. Impostando questa opzione, ti assicuri che informazioni complete sull’evento, inclusi i dettagli dei partecipanti, siano incluse nell’output. Ciò è essenziale per fornire una documentazione completa degli eventi del calendario.
-
MhtFormatOptions.WriteHeader: Questo parametro determina se le intestazioni contenenti metadati come oggetto, data e informazioni sui partecipanti (inclusi i partecipanti opzionali, quando configurati) vengono scritte nel file MHT. Abilitare questa opzione garantisce che informazioni contestualmente rilevanti accompagnino il tuo messaggio, migliorandone la comprensibilità.
Il esempio di codice seguente dimostra come utilizzare la funzionalità visualizza partecipanti opzionali durante il salvataggio di un msg in formato mhtml:
MhtSaveOptions options = new MhtSaveOptions()
{
MhtFormatOptions = MhtFormatOptions.RenderCalendarEvent | MhtFormatOptions.WriteHeader
};
MailMessage eml = MailMessage.Load(fileName);
eml.Save(fileName + ".mhtml", options);
Se è necessario escludere informazioni sui partecipanti opzionali dal file MHT, basta cancellare il modello di formato per OptionalAttendees prima del salvataggio:
//if you need to skip OptionalAttendees in mhtml file you can clear format template for OptionalAttendees
options.FormatTemplates[MhtTemplateName.OptionalAttendees] = "";
msg.Save(fileName + "2.mhtml", options);
Salva tutte le intestazioni in MHTML
Il MhtSaveOptions.SaveAllHeaders proprietà del MhtSaveOptions classe definisce se è necessario salvare tutte le intestazioni nell’output mhtml o meno. Il seguente frammento di codice mostra come salvare tutte le intestazioni di un file mhtml:
var eml = MailMessage.Load("message.eml");
var sopt = SaveOptions.DefaultMhtml;
sopt.SaveAllHeaders = true;
eml.Save("message.mhtml", sopt);
Elaborazione dei Messaggi Rimbalzati
È molto comune che un messaggio inviato a un destinatario possa rimbalzare per qualsiasi motivo, ad esempio per un indirizzo destinatario non valido. L’API Aspose.Email ha la capacità di elaborare tale messaggio per verificare se si tratta di un’email rimbalzata o di un messaggio email normale. Il CheckBounced metodo del MailMessage classe restituisce un risultato valido se il messaggio email è una email di rimbalzo. Questo articolo mostra l’uso di BounceResult classe che fornisce la capacità di verificare se un messaggio è una email di rimbalzo. Fornisce inoltre informazioni dettagliate sui destinatari, l’azione intrapresa e il motivo della notifica. Il seguente frammento di codice mostra come elaborare i messaggi di rimbalzo.
Analizzatore Spam Bayesiano
Aspose.Email fornisce filtraggio email usando un analizzatore spam bayesiano. Fornisce il SpamAnalyzer classe per questo scopo. Questo articolo mostra come addestrare il filtro a distinguere tra spam e email regolari basandosi sul database delle parole.
Ottieni preambolo e epilogo dai messaggi EML
Un messaggio email può contenere informazioni nascoste come testo semplice prima del corpo del messaggio (cioè preambolo) o dopo il corpo (cioè epilogo). Normalmente sono informazioni aggiuntive o contesto per il destinatario prima o dopo aver letto il contenuto principale dell’email. È possibile ottenere queste informazioni usando MailMessage.Preamble o/e MailMessage.Epilogue proprietà rispettivamente.
Il seguente frammento di codice mostra come ottenere i testi del preambolo e dell’epilogo:
// Gets or sets a preamble text.
public string Preamble
// Gets or sets an epilogue text.
public string Epilogue
Tracciamento email usando MDN e ricevute di lettura
L’API Aspose.Email fornisce il supporto al tracciamento delle email usando la Message Disposition Notification (MDN). Ciò è ottenuto richiedendo le ricevute di lettura e creando le informazioni necessarie. Il MailMessage.ReadReceiptTo proprietà ottiene o imposta l’indirizzo della ricevuta di lettura. Il CreateReadReceipt e ReadReceiptRequested i metodi sono usati per creare e recuperare le informazioni se sono richieste le ricevute di lettura. Il seguente frammento di codice mostra come tracciare le email usando l’API Aspose.Email.