Looks great! A few suggestions:
Instead of
$username=$_POST[username];
$whofrom=$_POST[whofrom];
$subject=$_POST[subject];
$message=$_POST[message];
You can use
$username = DB::escape($this->post->username);
$whofrom = DB::escape($this->post->whofrom);
etc
That will give you a sanitized version before you hit the DB.
Also, you're using the full pilot code to store a pilot's data - I would use just the ID without the code. Reason being an admin can change which airline they're in, so if you stick with using just the Auth::$userinfo->pilotid, that will take care of that.
Also, you're passing the mailid in alot of the data functions, you don't need to check the pilot ID, since the mail ID will be unique.
Looks good though, good job!