SELinux is very restrictive by default, depending on distribution. You will have to explicitly enable access, depending on your configuration.
In the case of Red Hat, with SELinux enabled, /var/www is access, but if your sites are on /home, it won't be. You have to enable it with:
setsebool -P httpd_enable_homedirs on
You can pull the list of policies you can enable with:
It is a lot, so you will have to grep for the service you want to enable access. Again, in the case of Red Hat, you only need to enable spooling for mail, so it will work by default. However, it may be different with your distribution. That and your web directory may be in a completely different location.
So you need go the selinux directory and look at the policies, roles and files contexts, which may be available at:
And apply the appropriate labels to the files.
I suggest you look at this as a base starting point:
If you want to keep running SELinux. Otherwise, either use a different distribution that makes it easy for your to manage SELinux or put it in permissive mode for now and use some other mechanism to secure your server - at least until you get the hang of SELinux.