Для того что бы не попадали в спам у домена должны быть настроены
отправка почты через php функцию, отправитель — свежий домен, сначала забыл в настройках сайта указать почтовый адрес сайта и отправитель получился root@localhost у Яндекса улетело в спам, у гугла прошло в общую папку.
Исправил, в админке сайта указал нормальный адрес отправителя, у яндекса тоже письмо упало в общую папку.
Если сервер настроен нормально, сертификаты, порты-морты, а если сайт на шаред хостинге, то за это отвечает хостер, то проблема скорее всего из-за:
а) плохой репутации домена
б) неправильных настроек отправителя
Добавлено спустя 2 минуты
плохой репутации домена
а, ну и возможно, репутации сервера, если другой пользователь сидящий на этом же ip занесён в базы, возможно страдают и соседи, как вариант.