I'm configuring an AWS EC2 instance with Postfix, and have set it up with Route53 including reverse DNS. I've tested that I can send emails, and Outlook receives them fine, but Gmail does not. I followed this guide to install and configure opendkim, and when I use this validator, I get this message stating that it's a valid DKIM record. However, when I use this validator, I get the response that "This message does not contain a DKIM Signature". Furthermore, when I send the email to Outlook, it goes in the main inbox, but I get the following results from authentication:
Authentication-Results: spf=pass (sender IP is x.x.x.x)
smtp.mailfrom=mail.example.com; mail.outlookserver.com; dkim=none (message not
signed) header.d=none;mail.outlookserver.com; dmarc=pass action=none
header.from=mail.example.com;compauth=pass reason=100
The IP address of x.x.x.x
is a substitution for my mail server's IP address, and mail.example.com
is the FQDN of my mail server. mail.outlookserver.com
is the Outlook mail server. Evidently, the SPF and DMARC records pass, however the DKIM record does not. I have the DKIM record set in AWS Route 53 as shown here and here, and I can do a dig and have it return the expected value, where $key
is my public key:
andreaskralj@linuxdev:~$ dig +short TXT mail._domainkey.example.com
"v=DKIM1; h=sha256; k=rsa; " "p=$key"
I'm unsure why my DKIM record isn't perceived as valid by Outlook or the other validator. If anyone has any ideas of what I can try or needs any more information, please let me know.
Edit:
I tried to add the following lines in /etc/postfix/master.cf
:
pickup unix n - y 60 1 pickup
-o smtpd_milters=inet:localhost:8892
-o non_smtpd_milters=inet:localhost:8892
The pickup line was already there; I added the -o lines according to the suggested answer by @Lasse Michael Mølgaard. Unfortunately, my email headers still say that the DKIM is set to none.