{"id":21648068,"url":"https://github.com/markelog/validate","last_synced_at":"2026-04-16T12:01:32.463Z","repository":{"id":65150213,"uuid":"242549120","full_name":"markelog/validate","owner":"markelog","description":"Simple validation HTTP-service","archived":false,"fork":false,"pushed_at":"2020-02-24T14:09:35.000Z","size":91,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-25T01:43:36.114Z","etag":null,"topics":["dmarc","email","http","reputation","smtp","validate"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markelog.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-23T16:15:41.000Z","updated_at":"2021-02-19T16:54:00.000Z","dependencies_parsed_at":"2023-01-02T15:31:21.120Z","dependency_job_id":null,"html_url":"https://github.com/markelog/validate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/markelog/validate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markelog%2Fvalidate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markelog%2Fvalidate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markelog%2Fvalidate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markelog%2Fvalidate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markelog","download_url":"https://codeload.github.com/markelog/validate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markelog%2Fvalidate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31884929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dmarc","email","http","reputation","smtp","validate"],"created_at":"2024-11-25T06:53:15.346Z","updated_at":"2026-04-16T12:01:32.459Z","avatar_url":"https://github.com/markelog.png","language":"Go","readme":"# Validate [![Test](https://github.com/markelog/validate/workflows/Test/badge.svg?branch=master)](https://github.com/markelog/validate/actions)\n\n\u003e Simple validation HTTP-service\n\n## Intro\n\nIt's a simple HTTP validation service, with one available route `/email/validate`. Which validates the email via `POST` request\n\n### Start\n\n```sh\n$ docker run -t -p 8080:8080 -e PORT=8080 markelog/validate\n```\n\n### Example\n\n#### Request\n\n`POST /email/validate`\n\n```sh\n$ curl -i -XPOST -d '{\"email\":\"markelog@gmail.com\"}' http://localhost:8080/email/validate\n```\n\n#### Response\n\n```sh\nHTTP/1.1 200 OK\nContent-Type: application/json; charset=UTF-8\nVary: Origin\nDate: Mon, 24 Feb 2020 12:18:58 GMT\nContent-Length: 150\n\n{\"valid\":true,\"validators\":{\"dmarc\":{\"valid\":true},\"domain\":{\"valid\":true},\"regexp\":{\"valid\":true},\"reputation\":{\"valid\":true},\"smtp\":{\"valid\":true}}}\n```\n\n### Checks\n\n- `regexp` � checks the syntax of the provided email\n- [`dmarc`](https://en.wikipedia.org/wiki/DMARC) � checks DMARC related presence in the domain DNS\n- `domain` � checks if email domain exist\n- `smtp` � establishes connection to the SMTP service, sends `RCPT TO` request thus checking if such email address exist\n- [`reputation`](https://en.wikipedia.org/wiki/Reputation_system) � checks the reputation of the email via https://emailrep.io/.\n  - _Note:_ Amount of request from one IP-address is limited, it's better to provide the key (see [`/.env.example`](https://github.com/markelog/validate/tree/master/.env.example)). If limit is exceed, response from `emailrep.io` will not be present in the response\n\n### Development\n\n#### Commands\n\n- `make install` � installs stuff\n- `make dev` � starts the server and watches changes\n- `make unit-tests` � executes unit-tests\n- `make integrations-tests` � executes integration-tests\n- `make test` � executes unit and integration tests\n- `make lint` � lint sources via multiple linters\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkelog%2Fvalidate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkelog%2Fvalidate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkelog%2Fvalidate/lists"}