Dreamhost Wordpress DKIM using SMTP
So when you send e-mail through php (as is the default for wordpress),
it originates from shelluser@host.dreamhost.com instead of the domain
that you're actually sending it from. This causes the DKIM signature that dreamhost applies to all your mail that goes through its SMTP servers not to be applied.
Solution: Setup wordpress to send e-mail through dreamhost's SMTP servers.
First, get a plugin for wordpress. I used "Configure SMTP" which I
could get to by seraching for SMTP through the wordpress find plugins
page. Once that plugin was installed, I just had to configure it to
work with dreamhost's SMTP server.
In wordpress (as the admin user) I went to Settings -> SMTP and entered:
host: mail.domain.com
port: 25 (I couldn't get it working over SSL/TLS)
secure connection prefix: blank
smtp auth: checked
username: username@domain.com
password: same password I use to login to webmail
sender e-mail: whatever you want, it shows up in the From: field, but could actaully be from another domain (e.g. me@gmail.com)
sender name: whatever you want
I also use the subscribe2 plugin to send out e-mail to the subscribers
when we have blog posts. These appear to come from the e-mail address
of the user who wrote the blog post, not what you put for sender e-mail
above. However because DKIM works on the "Received:" part of the
message and not the "From:" line the messages will authenticate even
though the "From:" line is something that isn't part of the domain
(like @gmail.com).
I'm not sure what the holdup was on the wordpress plugin working with TLS for dreamhost's secure servers.
Part of the problem is that the TLS certificate is for *.dreamhost.com
and you're connecting to mail.yourdomain.com as the SMTP server. I read
somewhere that you could just connect to mail.dreamhost.com, but I
didn't have luck with that. (Through wordpress or thunderbird)