The . at the end of the permissions (-rw-r--r--.) denotes that there are extended SELinux permissions on the files that are not shown by a normal ls -l.
Run ls -Z on those files. Most probably they have the wrong SELinux context.
You can then set the correct SELinux context using chcon.
In my situation, for two distinct Ubuntu and Debian servers, the problem was a broken systemd service file for opendkim.
The config files were absolutely ok but the service file was probably generated by an old version.
To regenerate the service file and reslove the problem, just run this command: