mail() - очень ненадежная функция. Часто она либо отключена, либо почтовые сервисы кладут письма, посланные такой функцией, в спам, либо вообще отказываются получать. Используйте SMTP для отправки. Но судя по вашему вопросу - до этого момента следует подучиться...
Можно CURL с указанием таймаута в милисекундах или секундах. Просто пишите - ждать 0.01 сек к примеру. Вернет ошибку, но вам де все равно на этом этапе.