Install Haraka with explicit recipient and relay policy
Create an isolated Haraka configuration, review the plugin chain, and reject unauthorized recipients before enabling public SMTP.
Reviewed
Haraka is a programmable Node.js SMTP server. Its plugins define important acceptance and queue behavior; installing the package alone does not create a complete mailbox system.
For the difference between programmable SMTP and a finished mailbox platform, see Haraka in our Linux mail-server comparison.
Create a test configuration
Use the official getting-started guide and a supported Node.js/package release. Creating a configuration is distinct from starting a public mail listener:
haraka -i /path/to/haraka-test
- Inspect the generated configuration and set the correct SMTP hostname and accepted domains in the release’s documented files.
- Review
config/pluginsin order. Keep recipient authorization and relay permission explicit rather than trusting arbitrary connecting clients. - Configure TLS and the selected queue/handoff plugin before enabling reception.
- Run under the supported service/privilege model and keep management/diagnostic access restricted.
The quickstart’s forwarding setup requires a configured downstream target; adding a domain to a host list does not create a mailbox or durable HTTP receiver.
Verify acceptance and handoff
Test a controlled accepted recipient, unknown local recipient, unauthenticated remote relay, and unavailable downstream service. Confirm the correct SMTP response and queue/log outcome.
Do not expose development defaults on public interfaces before these checks. If your application needs IMAP, storage, parsed JSON, or agent execution, add those components deliberately; Haraka’s plugin bus does not imply they are bundled or configured.