Giter VIP home page Giter VIP logo

biagiot / java-pec-parser Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 9.0 111 KB

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

License: Apache License 2.0

Java 100.00%
java-pec-parser pec mail ricevute email agid posta legal-mail legalmail daticert postacert eml email-client mail-client pec-client mail-parser email-parser rfc-2821 java rfc-6109

java-pec-parser's Introduction

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>4.0.0</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.

java-pec-parser's People

Contributors

biagiot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

java-pec-parser's Issues

Spring 3 e Jakarta

Buongiorno, la libreria non può essere usata con spring boot 3 poichè usa le librerie Jakarta.
C'è qualche upgrade in vista?

Saluti

ByteBuffer.flip() NoSuchMethodError

Ciao, Stavo testando la libreria, ma mi sono imbattuto su questo errore:
java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer; at app.tozzi.mail.pec.util.IOUtils.fastCopy(IOUtils.java:121) at app.tozzi.mail.pec.util.IOUtils.fastCopy(IOUtils.java:112) at app.tozzi.mail.pec.util.IOUtils.getContent(IOUtils.java:104) at app.tozzi.mail.pec.util.IOUtils.createDataSource(IOUtils.java:38)...

Leggendo in giro, sembra che il problema sia causato da una incompatibilità tra versioni di java: https://stackoverflow.com/questions/61267495/exception-in-thread-main-java-lang-nosuchmethoderror-java-nio-bytebuffer-flip

Il mio progetto utilizza java 8. C'è possibilità di aggirare il problema?

Java 21

Ciao, dalla documentazione da te fornita ho visto che la libreria non è compatibile con java 21...è possibile avere un nuovo rilascio in cui si risolve questo problema? grazie

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.