Если на сервере корректно настроен sendmail то можно просто фунцией mail однако настроить его самому достаточно сложно, особенно так, чтобы письма не уходили в спам.
На многих хостингах sendmail настроен кое-как, но крупные обычно настраивают нормально.
Поэтому есть множество способов отправить письма - первое это установить готовое решение почтового сервера и слать через него, их настраивать чуток проще. Второй вариант завести почту и слать через эту почту. И третий воспользоваться api почтовых систем например
ExpertSenderMailgunMandril
Или AWS прослойку для почты.
На работе используем почтовый сервер для одного проекта, даже с цифровой подписью. Для другово exSender.
Сам лично использую Mailgun и smtp через почту вроде noreply@mysite.my где к домену привязан gmail для бизнеса, на одного человека 4$ в месяц.
В итоге самый простой вариант - используем как посоветовал Дмитрий swiftmailer подключаем его к smtp к готовой почте и радуемся. Либо тестируем mail, причем тоже через swiftmailer и пинаем хостеров чтобы сделали нормальную почту.