Доброго времени суток!
Есть файл с обработкой и отправкой письма с вложенным файлом.
В нем есть условие
// Отправляем почтовое сообщение
if(empty($file_tepl)) mail($mail_to,"=?UTF-8?B?" . base64_encode ($thm). "?=",$msg,"Content-type:text/html; charset = utf-8\r\nFrom:$thm <$email>");
else send_mail($mail_to,"=?UTF-8?B?" . base64_encode ($thm). "?=",$msg,$file_tepl,"Content-type:text/html; charset = utf-8\r\nFrom:$thm <$email>");
где $thm - это и есть то, что должно быть в поле From (От кого) в почтовике.
При отправке без файла, все работает нормально. Но при отправке письма с файлом, "От кого" приходит
noreply@unverified... Подозреваю, что дело в функции send_mail - видимо не хватает или некорректно прописаны заголовки.
Подскажите пожалуйста, что и куда дописать или исправить. Код функции send_mail ниже
function send_mail($to, $thm, $html, $path)
{
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers .= "MIME-Version: 1.0\n";
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$multipart .= "--$boundary\n";
$kod = 'utf-8';
$multipart .= "Content-Type: text/html; charset=$kod\n";
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$multipart .= "$html\n\n";
$message_part = "--$boundary\n";
$message_part .= "Content-Type: application/octet-stream\n";
$message_part .= "Content-Transfer-Encoding: base64\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= $message_part."--$boundary--\n";
if(!mail($to, $thm, $multipart, $headers))
{
echo "К сожалению, письмо не отправлено";
exit();
}
}
Спасибо