Почему данные не отправляются на почту?
ini_set на бесплатных хостингах не всегда работает, точнее чаще всего не работает, или работает только с определенными безопасными параметрами. 

но код пересылает на страницу index.htmlТак а почему не должен, у вас же там редирект безусловный, вы в любом случае туда переходите, не зависимо от успеха вышеописанного кода...

Не отправляет данные на почтуВо первых вы даже не проверяете результат выполнения mail(), во вторых - вполне возможно что на бесплатных хостингах работать не будет, или будет работать ограничено, ну и в третьих, возможно у вас ошибка, которую вы не видите. Надо либо смотреть логи ошибок (если они доступны), либо включить вывод ошибок и предупреждений.

Идеальным выходом из ситуации конечно же является использование нормального мэйлера, нарпимер PHPMailer или swiftMailer, что гораздо проще и удобнее.
ini_set на бесплатных хостингах не всегда работает, точнее чаще всего не работает, или работает только с определенными безопасными параметрами. 

но код пересылает на страницу index.htmlТак а почему не должен, у вас же там редирект безусловный, вы в любом случае туда переходите, не зависимо от успеха вышеописанного кода...

Не отправляет данные на почтуВо первых вы даже не проверяете результат выполнения mail(), во вторых - вполне возможно что на бесплатных хостингах работать не будет, или будет работать ограничено, ну и в третьих, возможно у вас ошибка, которую вы не видите. Надо либо смотреть логи ошибок (если они доступны), либо включить вывод ошибок и предупреждений.

Идеальным выходом из ситуации конечно же является использование нормального мэйлера, нарпимер PHPMailer или swiftMailer, что гораздо проще и удобнее.