InfoMail is an email service that allows you:
- send emails to one or more addresses (include CC and BCC);
- schedule a message to be sent on a date;
- resend emails at specified intervals;
- creating and sharing templates
- JWT-token authentication
- Two-factor authentication
- Docker compose with all services
- infomail - InfoMail site
- swagger-ui - API
- infomail-frontend - Front-end part of the project
- presentation - project presentation
- Java 17
- PostgreSQL (9.5.9 or higher)
- Docker
- MailHog in Docker or a Gmail account that allows you to use SMTP
- Clone this repository to your local machine using:
git clone https://github.com/Lastzlo/InfoMail.git
- Create a database
- Set up environmental variables in
application.yml
or in Intellij Idea (Edit Configurations... -> Environmental variables:
)
INFOMAIL_DEFAULT_TIMEZONE=Europe/Kiev;
INFOMAIL_FRONT_REG_LINK=http://localhost:4200/#/auth/registration/;
INFOMAIL_FRONT_URL=http://localhost:4200;
INFOMAIL_SECURITY_SECRET=onfn923oiNkfJj32fsl230cdl3mcLNL42lfl932O23Fknlfsdlsf32f04f;
MAIL_EMAIL=infomail;
MAIL_HOST=localhost;
MAIL_PASSWORD=infomail;
MAIL_PORT=1025;
SPRING_DATASOURCE_PASSWORD=postgrespw;
SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/infomail;
SPRING_DATASOURCE_USERNAME=postgres