System allows you to send Email to N-User on Periodically or based on Configure time with Status Update Jobs.
- JDK 1.8 & Maven (3.3.9)
- Spring Boot 2.1.1.RELEASE
- BootStap (3.3.7) With DataTable (1.10.16) and JQuery(3.1.1)
- Active MQ (5.11.1)
- JUnit And Mokito
- SMTP Configurations
- Status Update Job Config Params
- Email Sender Job Params
hibernate.show_sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
# ==============================================================
# = Spring Security / Queries for AuthenticationManagerBuilder
# ==============================================================
spring.queries.users-query=select email, password,active from user where email=?
spring.queries.roles-query=select u.email, r.role from user u inner join user_roles ur on(u.id=ur.user_id) inner join role r on(ur.roles_role_id=r.role_id) where u.email=?
#
# LOGGING
#
logging.level.org.springframework.web=ERROR
logging.level.com.hackerrank=INFO
# Logging pattern for the console
logging.pattern.console="%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
# Logging pattern for file
logging.pattern.file="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
logging.file=application.log
#
# App Settings
#
#CRON SCHEDULING
app.job.status.updator.cron=0 0 1 * * ?
app.job.non-responsie.users.batch.size=100
app.job.inactive.users.batch.size=100
app.job.active.users.batch.size=100
#Email Sender Job Config
app.job.email-sender.cron=0 0 3 * * ?
app.job.email-sender.non-responsie.users.batch.size=100
app.job.email-sender.non-responsie.frequency=4320
app.job.email-sender.active.users.batch.size=100
app.job.email-sender.active_users.frequency=1440
#STATUS UPDATE JOBS
app.status.non-responsive.mins=5760
app.status.inactive.mins=2880
app.status.non-responsive_to_active.mins=2880
#EMAIL CONTENT
app.email.title=Welcome to Email System
app.email.body=Test Body
app.email.from=smsarraf@gmail.com
#EMAIL SMTP AUTHENTICATION
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=smsarraf@gmail.com
spring.mail.password=xxxxxxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
#
# ACTIVEMQ Configurations
#
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.user=admin
spring.activemq.password=admin```
- mvn clean package
- Run Jar File As Java -jar email-system-0.0.1-SNAPSHOT.jar or mvn spring-boot:run
- Go To URL http://localhost:8080
- Click on Registration Link http://localhost:8080/registration and do registation
- Go Back to Login Page http://localhost:8080/login or click on Login Page
- Login As Admin and See Reports
Username: admin@gmail.com
Password: admin
- UX Document : EMailSystemUX.pdf
- Java Doc {application_folder}/doc/index.html