Le e-mail sono una fonte primaria di comunicazione su Internet. Potresti trovarti in scenari in cui desideri che le tue applicazioni leggano i file EML e MSG e aggiungano il loro contenuto a qualche file o eseguano altre operazioni su di essi. A tal fine, questo articolo ti insegnerà come leggere i messaggi di posta elettronica utilizzando C++.
- API C++ per la lettura di messaggi di posta elettronica
- Leggi i messaggi di posta elettronica utilizzando C++
- Estrai le informazioni di intestazione dai messaggi di posta elettronica
- Decodifica i valori dell’intestazione del messaggio e-mail
- Ottieni una licenza gratuita
API C++ per la lettura di messaggi di posta elettronica
Aspose.Email per C++ è una libreria C++ nativa per la creazione, la manipolazione e l’invio di e-mail senza richiedere l’installazione di Microsoft Outlook. L’API supporta anche la lettura di file di posta elettronica EML e MSG. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.
PM> Install-Package Aspose.Email.Cpp
Leggi i messaggi di posta elettronica utilizzando C++
Di seguito sono riportati i passaggi per leggere i messaggi di posta elettronica.
- Carica il file e-mail utilizzando la classe MailMessage.
- Leggi il contenuto dell’e-mail utilizzando MailMessage->getFrom(), MailMessage->getTo(), MailMessage->getSubject(), MailMessage->getBody( ), ecc. metodi.
Di seguito è riportato il codice di esempio per leggere i messaggi di posta elettronica utilizzando C++.
// Crea un'istanza MailMessage caricando un file EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Ottieni le informazioni sul mittente
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());
// Ottieni le informazioni sui destinatari
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());
// Ottieni il soggetto
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());
// Ottieni il corpo HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
// Ottieni il corpo del testo
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Estrai le informazioni di intestazione dai messaggi di posta elettronica
Di seguito sono riportati i passaggi per estrarre le informazioni di intestazione dai messaggi di posta elettronica.
- Carica il file e-mail utilizzando la classe MailMessage.
- Ottieni l’enumeratore di intestazione usando il metodo MailMessage->getHeaders()->GetEnumerator().
- Scorri le intestazioni e recupera l’intestazione usando il metodo MailMessage->getHeaders()->Get (int32t index).
Di seguito è riportato il codice di esempio per estrarre le informazioni di intestazione dai messaggi di posta elettronica utilizzando C++.
// Crea un'istanza MailMessage caricando un file EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Stampa tutte le intestazioni
int32_t index = 0;
{
auto header_enumerator = message->get_Headers()->GetEnumerator();
decltype(header_enumerator->get_Current()) header;
while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
{
System::Console::Write(header + u" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}
Decodifica i valori dell’intestazione del messaggio e-mail
Di seguito sono riportati i passaggi per decodificare i valori di intestazione nei messaggi di posta elettronica.
- Carica il file e-mail utilizzando la classe MailMessage.
- Decodificare il valore dell’intestazione utilizzando il metodo MailMessage->getHeaders()->GetDecodedValue (System::String name).
Di seguito è riportato il codice di esempio per decodificare i valori di intestazione nei messaggi di posta elettronica utilizzando C++.
// Crea un'istanza MailMessage caricando un file EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Ottieni il valore decodificato dall'intestazione
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");
// Stampa il valore
System::Console::WriteLine(decodedValue);
Ottieni una licenza gratuita
Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.
Dimostrazione dal vivo
Conclusione
In questo articolo hai imparato a leggere i messaggi di posta elettronica usando C++. In particolare, hai imparato a leggere il contenuto dell’e-mail e le informazioni sull’intestazione. Hai anche visto come decodificare i valori di intestazione usando Aspose.Email per l’API C++. Oltre a leggere i messaggi e-mail, l’API offre molte più funzionalità per lavorare con le e-mail. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.