Backend Server for Reacher Email Verification API: https://reacher.email.
This repository holds the backend for Reacher. The backend is a HTTP server with the following components:
check-if-email-exists
, which performs the core email verification logic,warp
web framework.
The master
branch you are viewing now contains Work in Progress code on the bulk API endpoint. Some beta Docker images are also shipped for early usage. Please note that the API might change and the code is not considered stable or production-ready. Please use this branch only if you know what you are doing.
For the latest stable realease, please use v0.3.12.
There are 3 ways you can run this backend.
After clicking on the button, just follow the instructions on screen.
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
}
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
.
These are the environment variables used to configure the HTTP server:
Env Var | Required? | Description | Default |
---|---|---|---|
DATABASE_URL |
Yes | Database connection string for storing results and task queue | not defined |
RCH_FROM_EMAIL |
No | The email to use in the MAIL FROM: SMTP command. |
user@example.org |
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, populated by Heroku. | 8080 |
RCH_SENTRY_DSN |
No | If set, bug reports will be sent to this Sentry DSN. | not defined |
RCH_SAASIFY_SECRET |
No | If set, all requests must have a x-saasify-proxy-secret header set, equal to the value of RCH_SAASIFY_SECRET . |
not defined |
RUST_LOG |
No | One of trace,debug,warn,error,info . 💡 PRO TIP: RUST_LOG=debug is very handful for debugging purposes. |
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 |
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.
reacherhq/backend
's source code is provided under a dual license model.
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.
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.
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.