Von deinem lokalen Rechner aus E-Mails zu senden ist nicht so einfach, besonders bei einer dynamischen IP.
+ Du benötigst einen lokalen E-Mailserver den du extra installieren musst
+ Andere E-Mail-Dienste stufen solche E-Mails mindestens als Spam ein
Wenn du einen fremden SMTP-Server benutzen möchtest, musst du anstelle der mail()-Funktion dich mit dem SMTP-Server selber verbinden (z.B. mit Hilfe von Swiftmailer. (Dann auch nicht mehr mit localhost, sondern mit der externen Adresse).