Вместо нижней строки
//header("Location:".ADMIN_URL."/index.php");
напишите
echo("<script>location.href = '".ADMIN_URL."/index.php?msg=$msg';</script>");
или
?><script><?php echo("location.href = '".ADMIN_URL."/index.php?msg=$msg';");?></script><?php
Это определенно решит вашу проблему. Я столкнулся с одной и той же проблемой, но решил решить эту проблему путем написания заголовка.
Выглядит хорошо. Чтобы увидеть некоторые отладочные сообщения log4net в консоли, добавьте следующие строки в файл app.config
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
. Возможно, это даст вам подсказку.
Проверьте, требуется ли SMTP-аутентификация.
Также значение bufferSize = "512" означает, что он будет собирать 512 сообщений перед отправкой письма. Я уверен, что вы этого не хотите.