Явная проблема с кодировкой.
Если у вас сайт в кодировке windows-1251, то обратите внимание на параметр
encoding в
htmlspecialchars
iconv ('utf-8', 'windows-1251', $message1), iconv ('utf-8', 'windows-1251', $header)
Если всё-же сайт в кодировке windows-1251, а письмо хотите отправить в кодировке utf-8, то необходимо наоборот перекодировать в utf-8:
iconv('windows-1251', 'utf-8', $message1), iconv('windows-1251', 'utf-8', $header)
И в htmlspecialchars указать кодировку:
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, "windows-1251");
...
Если же всё-таки сайт в utf-8 и письмо надо отправить в utf-8, то вот в этом нет необходимости
iconv ('utf-8', 'windows-1251', $message1), iconv ('utf-8', 'windows-1251', $header)
P/S: судя по коду, скорее всего у вас сайт в кодировке windows-1251, поэтому необходимо для htmlspecialchars указать параметр encoding. Именно в этом случае кириллица вырезается функцией htmlspecialchars