Здравствуйте.
Как правильно отправить письмо с вложением и дополнительной информацией?
Так не работает. Письмо без файла отправляется а с файлом приходит файл без инфы.
<?php
$sendto = "mymail@gmail.com";
$username = $_POST['name'];
$userphone = $_POST['phone'];
$email = $_POST['email'];
$source = $_POST['source'];
$term = $_POST['term'];
$medium = $_POST['medium'];
$campaign = $_POST['campaign'];
$content = $_POST['content'];
if (!empty($_FILES['mail_file']['tmp_name'])) {
$path = $_FILES['mail_file']['name'];
if (copy($_FILES['mail_file']['tmp_name'], $path)) $resume = $path;
}
// Отправляем почтовое сообщение
if(empty($resume)) {
$headmail = "Name";
$subject = "Название: Новое сообщение";
$headers = "From: " . strip_tags($headmail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($headmail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
$msg = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Получить консультацию</h2>\r\n";
$msg .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
$msg .= "<p><strong>Номер телефона:</strong> ".$userphone."</p>\r\n";
$msg .= "<p><strong>E-mail:</strong> ".$email."</p>\r\n";
$msg .= "<p><strong>Источник:</strong> ".$source."</p>\r\n";
$msg .= "<p><strong>Ключевое слово/фраза:</strong> ".$term."</p>\r\n";
$msg .= "<p><strong>Канал кампании:</strong> ".$medium."</p>\r\n";
$msg .= "<p><strong>Название кампании:</strong> ".$campaign."</p>\r\n";
$msg .= "<p><strong>Дополнительная информация:</strong> ".$content."</p>\r\n";
$msg .= "</body></html>";
/*echo "<script language='Javascript'><!--
function reload() {location = \"$backurl\"}; setTimeout('reload()', 20000);
//--></script><center>$msg</center>";*/
session_start();
$ref = $_SERVER['HTTP_REFERER'];
$_SESSION['ref'] = $ref;
$find = '.php';
$pos = strpos($ref, $find);
if ($pos === false)
{
$backurl = 'thx-index.php';
}
else if ($pos !== false)
{
$parseUrl = parse_url($ref);
$path = trim($parseUrl['path'], "/");
$pathArr = explode('/', $path);
$path = array_pop($pathArr);
$backurl = 'thx-' . $path;
}
if(@mail($sendto, $subject, $msg, $headers)) {
echo "<script language='Javascript'><!--
function reload() {location = \"$backurl\"}; reload();
//--></script>";
} else {
echo "<script language='Javascript'><!--
function reload() {location = \"$backurl\"}; reload();
//--></script>";
}
} else {
$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 .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
$multipart .= "<p><strong>Номер телефона:</strong> ".$userphone."</p>\r\n";
$multipart .= "<p><strong>E-mail:</strong> ".$email."</p>\r\n";
$multipart .= "<p><strong>Источник:</strong> ".$source."</p>\r\n";
$multipart .= "<p><strong>Ключевое слово/фраза:</strong> ".$term."</p>\r\n";
$multipart .= "<p><strong>Канал кампании:</strong> ".$medium."</p>\r\n";
$multipart .= "<p><strong>Название кампании:</strong> ".$campaign."</p>\r\n";
$multipart .= "<p><strong>Дополнительная информация:</strong> ".$content."</p>\r\n";
$multipart .= "--$boundary\n";
$kod = 'koi8-r'; // или $kod = 'windows-1251';
$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($sendto, $subject, $multipart, $headers)) {
echo "К сожалению, письмо не отправлено";
exit();
}
};
Спасибо