Adding DKIM with Haraka

This is the 3rd post in a series about setting up an outbound SMTP server with DKIM signing and smart host forwarding. Here you will learn how to configure an existing Haraka server to sign all outbound emails with a DKIM header.

After setting up the libraries, config files, system service, and smart host forwarding, adding the DKIM plugin should seem like a breeze. I’m including a couple extra steps where the documentation didn’t quite get me all the way to the finish line.

DomainKeys Identified Mail, in case you weren’t familiar with it, allows the sending server to use a cryptographic signature, storing the public decryption key in a DNS record. The receiver can then verify the signing server has a key for that domain.

Continue reading Adding DKIM with Haraka

Smart Host Config for Haraka

This is the 2nd post in a series about setting up an outbound SMTP server with DKIM signing and smart host forwarding. Here you will learn how to configure an existing Haraka server to forward all outgoing mail to another SMTP server.

Part of the credit for this solution goes to Matt’s Hacking Blog which got me pointed in the right direction after a morning of futile config file editing. It just needed some updates, tweaks, and longer explanations of how to make it work.

The core trick here is a custom plugin. I already had an SMTP service account with DNS Made Easy, so I used that as an example for my forward smart host. I created a file named /etc/haraka/plugins/dnsmadeeasy.js

Continue reading Smart Host Config for Haraka

Installing Haraka in Ubuntu 20.04

This is the first post in a series about setting up an in-house outbound SMTP server with DKIM signing and smart host forwarding. Here you will find the steps to install the Haraka SMTP server, configure it to accept outbound mail, and run it as a system service.

Requirement: Node.js

You will need the npm command to install Haraka, and I found it was not available by default. To read the official instructions for this step, reference this page:

Node.js Binary Distributions

This is how I did it:

curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -

apt install nodejs

The Haraka Application

With the prerequisites met, it’s as simple as this:

npm install -g Haraka
Continue reading Installing Haraka in Ubuntu 20.04