В прошлом я сталкивался с проблемами, когда некоторые бесплатные провайдеры электронной почты не получали электронную почту с моих серверов.
Я обнаружил, что виновником может быть несколько вещей, помимо добавления правильных заголовков в фактическое сообщение:
Скорее всего, PHP отлично отправляет электронную почту, но серверы Google отклоняют любые сообщения, приходящие с вашего сервера.
Вы можете проверить это, выполнив:
mail -s Test you@gmail.com < /dev/null
Если с вашим сервером все в порядке, вы получите сообщение в своем gmail, если нет, PHP не является проблемой.