Using DKIM in phpMailer or SMTP

Trying to get more messages through that aren’t labeled spam has been an ongoing fight. All of the sites I send newsletters out for have their mail set up for DKIM/SPF but the phpList mails always show no DKIM signing.

After reading all about how this works I still have what’s probably a stupid question: Does phpList mailing only allow DKIM signing if you use SMTP to send instead of phpMailer?

I haven’t tried sending using the SMTP server, but I have unlimited access to it. If I have to use it I’m guessing it’s going to be slower, and I have to set restrictions in the config file?

I know I’m replying to my own question, but I thought I would expand on it.
I found articles talking about class.phpmailer.php file to make it so it will send with DKIM headers. Is this something I can do to make phpList send with DKIM signing, and still not be forced to use SMTP to send?

@wxman Usually the local mail server (exim, postfix etc) would sign using DKIM or domainkeys.
If you have cpanel then that usually lets you enable DKIM, otherwise you need to speak to your system admin about how to do that.

For SPF you need to amend your DNS records. There are plenty of examples of how to do that.

I’m using Plesk, and I do have the sites set up with proper SPF and DKIM. If I send from phpLIst without using the SMTP option, the mail doesn’t get the DKIM signing.

What I’m wondering is if I can configure it in any way so sending using phpmail will include DKIM signing.

Can you explain what you mean by this, what do you mean by “the sites”? Is phplist installed on a different domain to those that you are using as the From address?

If DKIM is setup properly then presumably you can send an email that is signed. How is that different to what you are doing with phplist?

No problem.
We run several different sites all hosted on a server that uses Plesk to admin. I am the root admin for the server. The sites that do mailings each have their own install of phpList on their own domains. The sender is the same as the domain.
All the online email, DNS checkers say the sites all have their DNS entries, including DKIM, and SPF, set up properly. I have sent test newsletters to spam checking sites like and and they say everything is good except for the missing DKIM signing. That’s when I use php mail. If I send using the SMTP option, then it shows that DKIM is signed and correct.
I find articles talking about how phpmailer can be modified to send DKIM, I don’t see if I can do this in phpList.

@wxman What’s the difference between the local mail server, used by php mail(), and the smtp server? Aren’t they just different interfaces to the same process?
It sounds like you just need to configure the local mail server to use DKIM.

Maybe I have things wrong in my head. My sites have email already set up including all the proper DNS entries, and email address. When I’ve been sending the email newsletters using phpList before, I had it set to use php mail, not the SMTP server. When doing it that way, the messages showed that the DKIM was not being included. If I switch the config to use SMTP the the messages include DKIM. My understanding was that using php mail() was less of a strain on a server than going directly to the SMTP server to do the sending. If I had this wrong, and there’s no difference in the work the server does I can just switch to the SMTP option.

@wxman If the smtp server approach does sign then use that. Unless you are sending emails constantly at a high rate then I guess that the performance impact won’t be noticeable.

But you don’t appear to be getting that the local mail server, used by the php mail function, isn’t configured to sign emails. If you can fix that then you will have a choice of which sending method to use.