As far as I know, I don't think this is possible with PHP alone.
When the client's browser submits the form, it will wait for a response from the server. So if you submitted that form and the script waited four hours before sending it, the client's browser would sit there waiting too.
I think the best way to achieve what you want is to have send.php enter the email details into a database table. Then you need some sort of scheduling mechanism on the server which runs another PHP script at a specified time or interval. This second script would check the database table, retrieve a list of emails which are scheduled to be sent at the current time, and use these details to generate the emails.
Hope this helps.