Twój skrypt nie działa dlatego, że localhost (zapewne używasz XAMPPa) nie korzysta z funkcji mail. Z tego co pamiętam, XAMPP implementuje FakeMail czy coś takiego, i z komputera lokalnego nie możesz wysyłać wiadomości korzystając z funkcji mail(). Jeśli swój skrypt wstawisz na jakiś hosting, tam funkcja będzie działać, ale pamiętaj, że maile wysyłane z PHP funkcją mail() bardzo często lądują w SPAMie. Jeśli chcesz się przed tym ustrzec, skorzystaj z innych bibliotek np. PHPMailer czy też wspomniany SwiftMailer. Pozdrawiam