No description
- Go 98.1%
- Makefile 1.1%
- Dockerfile 0.8%
| checker | ||
| plugin | ||
| .gitignore | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| Makefile | ||
| NOTICE | ||
| README.md | ||
checker-happydeliver
happyDomain checker that drives a happyDeliver instance to assess outbound email deliverability for a domain.
The checker:
- Allocates a fresh recipient address on a happyDeliver instance
(
POST /api/test). - Sends a real test message from the tested domain to that address, using SMTP credentials supplied by the user.
- Polls happyDeliver until the message is analysed.
- Stores happyDeliver's report verbatim as the observation, exposes per-section scores as metrics, and emits one rule per section (DNS, authentication, spam, blacklist, header, content, plus overall) that fires CRIT when the score drops under a user-configured minimum.
Options
Admin
| Id | Type | Description |
|---|---|---|
happydeliver_url |
string | Default base URL of the happyDeliver API. |
happydeliver_token |
secret | Default bearer token for the happyDeliver API. |
User / per-domain
| Id | Type | Default | Description |
|---|---|---|---|
happydeliver_url |
string | (admin) | Override the happyDeliver URL. |
happydeliver_token |
secret | (admin) | Override the happyDeliver token. |
smtp_host |
string | (none) | Submission server. Required. |
smtp_port |
number | 587 |
Submission port. |
smtp_username |
string | (none) | SMTP username (omit for anonymous submission). |
smtp_password |
secret | (none) | SMTP password. |
smtp_tls |
choice | starttls |
starttls, tls, or none. |
from_address |
string | (none) | From address. Required. |
subject_override |
string | (default) | Override the test subject. |
body_text_override |
text | (default) | Override the plain-text body. |
body_html_override |
text | (default) | Override the HTML body. |
wait_timeout |
number | 900 |
Seconds to wait for analysis. |
poll_interval |
number | 5 |
Seconds between polls (clamped to [2, 60]). |
min_score_<section> |
number | per-section | Minimum acceptable score for each section. |
Per-rule minimum scores
Defaults: overall=70, dns=70, authentication=80, spam=70,
blacklist=90, header=70, content=60. Each can be customised through
the rule options shown in the happyDomain UI.
Metrics
One happydeliver_score metric per section, labelled with section=<name>
(values: overall, dns, authentication, spam, blacklist, header,
content).
Build
make # standalone binary (HTTP server on :8080)
make plugin # plugin.so loadable by happyDomain
make docker # container image