A Fast, Secure, Ready to use, Highly customizable email verifier API

Overview

Email verification API

Screenshot

What is this?

A Fast, Secure, Ready to use, Highly customizable email verifier API.

How to use

Clone the project

git clone https://github.com/amir-shiati/email-verification-api.git

Edit the configuration file

vi email-verification-api/src/main/resources/application.yml

Done! Run the project...

mvn spring-boot:run

Edit the configuration file

open up application.yml file (located inside email-verification-api/src/main/resources/) and set the required information.

set your smtp server information:

smtp:
  # your smtp server host
  host: smtp.your-domain.com
  # your smtp server port
  port: 587
  # your smtp server username
  username: your-smtp-username
  # your smtp server password
  password: your-smtp-password

set your database information:

datasource:
  # database url
  jdbc-url: jdbc:postgresql://localhost:5432/your-database-name
  # database username
  username: your-database-username
  # database password
  password: your-database-password

change jwt user information:

security:
  jwt:
    # jwt username (used to get jwt authentication token)
    username: changeme
    # jwt password (used to get jwt authentication token)
    password: changeme

All set!

Customizing

You can customize both the code and the html content of the email.

Customizing html content of the email:

open up application.yml file (located inside email-verification-api/src/main/resources/).

Inside the html section change these variables:

html:
  template:
    # path to the html template
    path: src/main/resources/templates/
    # name of the html template file
    file-name: template
    # name of the variable used for code inside the html template
    variable-name: code
  • Template file is a html file but because of the templating engine used it must end with a chtml extension!
  • Indicate where you would want to put the generated code inside the html file using the {$code} tag.

Customizing the code

Inside the code section change these variables:

code:
  # the length of the code
  length: 6
  # should it contain digits?
  digits: true
  # should it contain uppercase letters?
  upper: false
  # should it contain lowercase letters?
  lower: false
  # How long should the code be valid?
  valid-for-minutes: 5

Security

All the endpoints have been secured using jwt.

Endpoints

Here is the documentation

TODO

  • Add post configuration
  • Add a queue
  • Add support for bulk validation
  • Dockerize the project
You might also like...

Leveraging Java 8, create an API with a multi-tier user system.

Project 0 Description Leveraging Java 8, create an API with a multi-tier user system. You may choose the actual use case for your application as long

Jan 9, 2022

Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible

Jiskord Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible. This library is inspired by Discum. It is made using Java

Feb 28, 2022

SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

Jan 26, 2022

Simple way of causing a bsod using the native api implemented into a 1.12.2 Forge mod

Simple-BSOD-Mod Simple way of causing a bsod using the native api implemented into a 1.12.2 Forge mod. Dowload It HERE To make your own you can go to

Dec 28, 2022

This repository holds the source code for TML (Tecknix Mod Loader)'s API.

This repository holds the source code for TML (Tecknix Mod Loader)'s API.

This repository contains the modding API not the MDK (Mod Development Kit). This repository will not give you the ability to mod Tecknix Client but you can contribute to the repository if you have events you would like to add.

Aug 1, 2022

The project was created using the API of the Spotify application.

Spotify API The project was created using the API of the Spotify application.

Jan 27, 2022

This API provides functionalities to lookup and manage user accounts

This API provides functionalities to lookup and manage user accounts. Any human or computer system that will interact with any of the API's requires being authenticated as a user. The API allows for common functionalities such as creating a new user account, resetting passwords and generating JWT tokens.

Jan 22, 2022

Simple, server side api for drawing on maps with runtime only state and no id collisions

Simple, server side api for drawing on maps with runtime only state and no id collisions! It can be used in non-main/server threads for better performance/more fps.

Sep 2, 2022

A JavaCard applet for setting the global PIN (0x11) on a card using GlobalPlatform API

A JavaCard applet for setting the global PIN (0x11) on a card using GlobalPlatform API

Mar 4, 2022
Owner
Amir
Java, Android developer, interested in golang & blockchain...
Amir
TChart Simple and fast charts

TChart Simple and fast charts. Current version Beta 0.9.1 Preview Import jitpack.io gradle allprojects

null 30 Sep 20, 2022
Quiltflower is a fork of Fernflower adding additional features for use with the Quilt toolchain.

Quiltflower Quiltflower is a fork of Fernflower adding additional features for use with the Quilt toolchain. Changes include: Javadoc application Mult

null 449 Jan 5, 2023
An easy to use Hindi keyboard Android app

AasaanHindi-Keyboard-app An easy to use Hindi keyboard Android app. Easy and fast Hindi typing.

Ankit Kumar 1 Jan 20, 2022
Lightweight and easy-to-use SkinChangerAPI for Bukkit plugin

Lightweight and easy-to-use SkinChangerAPI for Bukkit plugin

Gabriel MERCIER 6 Jul 1, 2022
lobster is an easy-to-use Discord bot to play music in any voice channel

lobster is an easy-to-use Discord bot to play music in any voice channel

lundy 6 Apr 8, 2022
API gateway for REST and SOAP written in Java.

Membrane Service Proxy Reverse HTTP proxy (framework) written in Java, that can be used as an API gateway as a security proxy for HTTP based integrati

predic8 GmbH 389 Dec 31, 2022
Simple API, Complex Emails (JavaMail smtp wrapper)

Simple Java Mail Simple Java Mail is the simplest to use lightweight mailing library for Java, while being able to send complex emails including CLI s

Benny Bottema 1k Jan 5, 2023
A high level API to express vectorized operations in Java

vector-handle A high level API to express vectorized operations on primitive arrays in Java allowing to specify the vectorized operations as a simple

RĂ©mi Forax 25 Oct 5, 2022
This service checks the Co-WIN public API at a specific interval and send update to users specified telegram bot.

COVID VACCINE TELEGRAM BOT USING SPRING BOOT This application is a covid vaccine slot notifier via telegram bot. This application uses public CO-WIN A

Hardeek Sharma 6 Oct 4, 2022
JPassport works like Java Native Access (JNA) but uses the Foreign Linker API instead of JNI. Similar to JNA, you declare a Java interface that is bound to the external C library using method names.

JPassport works like Java Native Access (JNA) but uses the Foreign Linker API instead of JNI. Similar to JNA, you declare a Java interface t

null 28 Dec 30, 2022