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)