Ich möchte mit meinem Post ausdrücken, dass das Action Attribut unter normalen Umständen weggelassen werden kann. Dann kannst du die Prüfung der eingegebenen Daten, z.b mit der Funktion filter_input(), durchführen und dann mit diesen Daten weiterarbeiten. Dann kannst du auch gleich Fehlerbehandlung hinzufügen welche prüft ob das Feld leer ist und wenn ja dann fügst du dem Array Fehler eine Fehlermeldung hinzu. Wenn nun 3 Fehler da sind. Hat der Array zusammengerechnet 3 Keys. Diese rechnest du dann mit der Funktion count() zusammen und dann kannst du überprüfen ob ein Fehler besteht und ob count Fehler größer als 0 ist. Wenn dies der Fall ist, liegt ja ein Fehler vor aufgrund fehlender Eingabe. Dann gibts du die Fehlermeldungen aus. Z.b mit der Funktion implode() oder der Schleife foreach(). Und dann prüfst du im Else ob die Ausgabe , welche angezeigt wird wenn kein Fehler da ist, vorhanden ist und das Count error gleich 0 ist. Somit ist kein Fehler vorhanden.
Du kannst mit einer vorhandene Mailerklasse wie PHP Mailer sehr einfach ein Mailversand einrichten.
Desweiteren würde ich die Daten in entsprechend benannte Variablen packen.