Skip to content
This repository was archived by the owner on Dec 14, 2024. It is now read-only.
/ backend Public archive

⚙️ REST backend for Reacher - Open-Source Email Verification API.

License

Unknown, AGPL-3.0 licenses found

Licenses found

Unknown
LICENSE.md
AGPL-3.0
LICENSE.AGPL
Notifications You must be signed in to change notification settings

reacherhq/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4416122 · Aug 15, 2022
Aug 13, 2022
Aug 12, 2022
Aug 13, 2022
Aug 13, 2022
Feb 15, 2021
Apr 15, 2020
Aug 10, 2022
Aug 15, 2020
Apr 15, 2020
Oct 11, 2021
Aug 13, 2022
Aug 13, 2022
Aug 13, 2022
Nov 2, 2020
Mar 22, 2021
Aug 10, 2022
Aug 15, 2022
Aug 10, 2022
Aug 15, 2020
May 24, 2022
Aug 12, 2022

Repository files navigation

Actions Status Github Sponsor



reacher

⚙️ Reacher Backend

Backend Server for Reacher Email Verification API: https://reacher.email.



⚠️⚠️ IMPORTANT UPDATE ⚠️⚠️

This repo has been moved to the monorepo reacherhq/check-if-email-exists, in the backend subfolder.

Reacher Backend

This repository holds the backend for Reacher. The backend is a HTTP server with the following components:

Get Started

There are 2 ways you can run this backend.

1. Use Docker

The Docker image is hosted on Docker Hub: https://hub.docker.com/r/reacherhq/backend.

To run it, run the following command:

docker run -p 8080:8080 reacherhq/backend

You can then send a POST request with the following body to http://localhost:8080/v0/check_email:

{
	"to_email": "someone@gmail.com",
	"from_email": "my@my-server.com", // (optional) email to use in the `FROM` SMTP command, defaults to "user@example.org"
	"hello_name": "my-server.com",    // (optional) name to use in the `EHLO` SMTP command, defaults to "localhost"
	"proxy": {                        // (optional) SOCK5 proxy to run the verification through, default is empty
		"host": "my-proxy.io",
		"port": 1080
	},
	"smtp_port": 587                  // (optional) SMTP port to do the email verification, defaults to 25
}

2. Run locally

If you prefer to run the server locally on your machine, just clone the repository and run:

cargo run

The server will then be listening on http://127.0.0.1:8080.

Configuration

These are the environment variables used to configure the HTTP server:

Env Var Required? Description Default
RCH_ENABLE_BULK No If set to 1, then bulk verification endpoints will be added to the backend. 0
DATABASE_URL Yes if RCH_ENABLE_BULK==1 Database connection string for storing results and task queue not defined
RCH_HTTP_HOST No The host name to bind the HTTP server to. 127.0.0.1
PORT No The port to bind the HTTP server to, often populated by the cloud provider. 8080
RCH_FROM_EMAIL No The email to use in the MAIL FROM: SMTP command. user@example.org
RCH_SENTRY_DSN No If set, bug reports will be sent to this Sentry DSN. not defined
RCH_DATABASE_MAX_CONNECTIONS No Connections created for the database pool 5
RCH_MINIMUM_TASK_CONCURRENCY No Minimum number of concurrent running tasks below which more tasks are fetched 10
RCH_MAXIMUM_CONCURRENT_TASK_FETCH No Maximum number of tasks fetched at once 20
RUST_LOG No One of trace,debug,warn,error,info. 💡 PRO TIP: RUST_LOG=debug is very handful for debugging purposes. not defined

REST API Documentation

Read docs on https://help.reacher.email/rest-api-documentation.

The API basically only exposes one endpoint: POST /v0/check_email expecting the following body:

{
	"to_email": "someone@gmail.com",
	"from_email": "my@my-server.com", // (optional) email to use in the `FROM` SMTP command, defaults to "user@example.org"
	"hello_name": "my-server.com",    // (optional) name to use in the `EHLO` SMTP command, defaults to "localhost"
	"proxy": {                        // (optional) SOCK5 proxy to run the verification through, default is empty
		"host": "my-proxy.io",
		"port": 1080
	},
	"smtp_port": 587                  // (optional) SMTP port to do the email verification, defaults to 25
}

Also check openapi.json for the complete OpenAPI specification.

License

reacherhq/backend's source code is provided under a dual license model.

Commercial license

If you want to use reacherhq/backend to develop commercial sites, tools, and applications, the Commercial License is the appropriate license. With this option, your source code is kept proprietary. Purchase an reacherhq/backend Commercial License at https://reacher.email/pricing.

Open source license

If you are creating an open source application under a license compatible with the GNU Affero GPL license v3, you may use reacherhq/backend under the terms of the AGPL-3.0.

Read more about Reacher's license.

Sponsor my Open-Source Work

If you like my open-source work at Reacher, consider sponsoring me! You'll also get 8000 free email verifications every month with your Reacher account, and a this contribution would mean A WHOLE LOT to me.