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.
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
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.
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:
I solved a mysterious bottleneck last night while working with large string values in MS Access. My VBA code was reading a file to a string variable, checking several values near the beginning of the string, and then manipulating and saving the string to the database.
Oddly, one of the slowest parts of my code was the several InStr calls that were only checking the first few hundred bytes of the string. I could alleviate part of the problem by copying the beginning of my file to a shorter string value, but in so doing I also noticed unexpected results from the InStr return value.
If you ever have to do a case-insensitive array sort in PHP, you will eventually notice that the results don’t match the MySQL latin1_swedish_ci collation. They just aren’t the same. The difference comes from a set of six characters that fall between the upper-case and lower-case alpha characters of ISO-8859-1.
Specifically, [ \ ] ^ _ ` are the troublemakers. A simple example would involve sorting the phrases “Hello” and “[Hello]”. In MySQL, “Hello” comes first. In PHP, “Hello” comes last.
If this is driving you crazy, all you will need to do is trick PHP into using an upper-case sort instead of a lower-case sort.
February update cycle again sent my server into a reboot loop, shutting down all services until I could diagnose the problem on site.
Following the same steps as in my previous post, I switched the boot choice to Safe Mode, and observed another boot failure. This time instead of getting into the weeds of troubleshooting the update system with a second Safe Mode boot, I decided to let the server go back to the normal boot mode, because some other websites have reported this as a good solution.
In this case, the failed Safe Mode boot followed by no other action did successfully restore the server.
After reviewing the Event Viewer logs, I could only find a repeated Event ID 1074, “TrustedInstaller.exe has initiated the restart”. KB2992611 and KB890830 both installed successfully before the loop, then KB4502496, KB2822241, and KB4537814 installed after the loop.
My current recommendation is to disable automatic updates for Windows servers and only perform update checks while on site. Also, run the update check twice in a row. The servicing stack update from December didn’t show up until after recovering from the reboot loop and then checking again for more updates.
After linking two local Excel files by a simple reference to a cell in another workbook, I began seeing an ominous error:
SECURITY WARNING Links to external sources could be unsafe. If you trust the links, click Update. Click for more details.
This behavior was observed in version 1907 of Excel from the Office 365 software package.
Warnings of this nature should be taken seriously. In this case, however, the message has been seriously mislabeled. Clicking into the details brings up an ancient Help page for Excel 2007. Searching for similar situations online brings up some misleading instructions.
If you are experiencing the situation described above, continue reading below for a simple workaround and more background information.