Skip to content

biagioT/java-pec-parser

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 

codebeat badge CodeFactor

PEC/Mail Parser

Utility per l'elaborazione di messaggi di Posta Elettronica Certificata (e messaggi di posta ordinaria)

Utilizzo

Dipendenza Maven
<dependency>
    <groupId>app.tozzi.mail</groupId>
	<artifactId>pec-parser</artifactId>
	<version>3.0.1</version>
</dependency>
Parsing

La libreria offre tre metodi della classe PECMessageParser per il parsing di mail/PEC:

  1. Messaggio parse(MimeMessage mimeMessage) - elaborazione a partire da un oggetto javax.mail.internet.MimeMessage
  2. Messaggio parse(File emlFile) - elaborazione a partire da un oggetto java.io.File , ovvero il file EML
  3. Messaggio parse(InputStream emlInputStream) - elaborazione a partire dall'oggetto_java.io.InputStream_ rappresentante lo stream EML
Istanza PECParser

E' possibile creare una istanza di PECMessageParser in due modi:

  1. PECMessageParser getInstance(Properties properties) - con delle proprietà personalizzate che concorreranno alla creazione e alla elaborazione del MimeMessage
  2. PECMessageParser getInstance() - modalità default, vengono utilizzate le proprietà di sistema (System.getProperties())
Messaggio

L'oggetto Messaggio, risultato dell'elaborazione, conterrà:

  • Busta di trasporto (Busta)
  • Eventuale messaggio di Posta Elettronica Certificata (PEC)
  • Eventuale ricevuta (RicevutaPEC)

Attraverso i metodi di utility offerti dalla classe MessageUtils è possibile risalire al tipo di messaggio:

  • PEC (MessageUtils.isPec(Messaggio messaggio))
  • Ricevuta PEC (MessageUtils.isRicevutaPEC(Messaggio messaggio))
  • Posta Ordinaria (MessageUtils.isEmailNormale(Messaggio messaggio))

Il messaggio infatti viene elaborato anche se non PEC:

  • Se la mail viene ricevuta su una casella di Posta Elettronica Certificata: l'oggetto PEC conterrà le informazioni del messaggio normale in quanto comunque incapsulato in una busta.
  • Se la mail viene ricevuta su una casella di posta ordinaria: in questo caso l'oggetto Busta rappresenta il messaggio normale

Requisiti

  • Java 8 (o versioni successive)

Altro

Specifiche

Licenza

  • La licenza è disponibile qui.