Code Monkey home page Code Monkey logo

mailsender's Introduction

MailSender

MailSender è un'applicazione Java che consente l'invio di e-mail personalizzate a un insieme di destinatari. L'applicazione utilizza un server SMTP di Gmail per l'invio di e-mail e per essere utilizzata non bisogna avere l'autenticazione a due fattori attiva e deve essere attivata l'impostazione per l'accesso alle app meno sicure al link App meno sicure del profilo usato per l'invio delle mail.

Il progetto contiene un insieme di file a titolo di esempio con la dicitura Example alla fine del nome del file. Per l'utilizzo dell'applicazione è necessario modificare i file credentialsExample.txt, generalMailExample.txt e recipientDataExample.csv con le proprie credenziali, il testo della mail e i destinatari rinominandoli rispettivamente in credentials.txt, generalMail.txt e recipientData.csv.

Viene utilizzato Maven per la gestione delle dipendenze e per la compilazione del progetto.

Il metodo più facile per eseguire il progetto è utilizzare il file mailsender-1.0-SNAPSHOT.jar ed eseguirlo nella stessa directory dei file credentials.txt, generalMail.txt e recipientData.csv.

In alternativa possiamo eseguire il programma eseguire il comando mvn clean compile exec:java nella directory del progetto.

Funzionalità

  • Lettura delle credenziali: L'applicazione legge le credenziali dell'account di posta elettronica da un file credentials.txt. Queste credenziali sono utilizzate per autenticarsi al server SMTP.

  • Validazione dell'indirizzo email: Prima dell'invio, l'applicazione verifica che l'indirizzo email del destinatario sia valido. Questo aiuta a prevenire errori di invio.

  • Configurazione del server SMTP: L'applicazione configura le proprietà necessarie per l'invio di e-mail tramite un server SMTP di Gmail. Questo include l'indirizzo del server, la porta e le opzioni di sicurezza.

  • Personalizzazione delle e-mail: L'applicazione legge un file generalMail.txt e aggiunge le parole contenute nel file a una lista di parole da modificare. Queste parole vengono poi sostituite con parole specifiche del destinatario nel corpo dell'e-mail.

  • Lettura dei destinatari: L'applicazione legge i destinatari da un file CSV recipientData.csv. Ogni riga del file CSV rappresenta un destinatario e contiene l'indirizzo e-mail del destinatario e le parole specifiche del destinatario.

  • Invio parallelo delle e-mail: L'applicazione avvia un thread per ogni destinatario per l'invio delle e-mail. Questo permette di inviare e-mail a più destinatari in parallelo, migliorando l'efficienza dell'applicazione.

  • Gestione delle eccezioni: L'applicazione gestisce le eccezioni per i file non trovati e gli errori durante l'attesa dei thread. Questo aiuta a prevenire che l'applicazione si interrompa in caso di errori.

mailsender's People

Contributors

lorenzobandini avatar

Watchers

 avatar

mailsender's Issues

The occurrences are not replaced

The functions editEmail and replaceWord inside the class SenderThread do not fulfill their duty and do not change the words as they should, but they leave them the same as those in the general mail within the square brackets.

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.