Всем доброго времени суток. Если уже обсуждалось, дайте ссылку плиз. Следующим кодом без проблем отправляется письмо. И более того, в The Bat кодировка вполне приемлима. А вот в почтовике Оперы отображается примерно вот так: "гЮЙЮГ Я ЯЮИРЮ". Правда я не знаю, такая кодировка только в теме письма, или в самом теле. И ещё вопрос, как видите, я там пытался сделать отделение в теле с помощью пропущенных строк. Вот только ничего не вышло, и когда в <textarea> пропускаешь строки парой нажатий энтер, в результате этот скрипт всё склеивает в одну длинную строку. Я начинающий, поэтому не судите строго. =) | Код | <? if (isset($_POST['sendernm'])) { $EOL = "\n"; $text="Имя клиента: ".$_POST['sendernm'].$EOL."Телефон клиента: ".$_POST['sendertel'].$EOL."E-mail клиента: ".$_POST['senderml'].$EOL.$EOL."Текст сообщения: ".$EOL.$EOL.$_POST['senderbody']; $email=$_POST['senderml']; if (!empty($_FILES['mail_file']['tmp_name'])) { $vlozpath= $_FILES['mail_file']['name']; if (copy($_FILES['mail_file']['tmp_name'], '/home/rehautr/public_html/mailuploads/'.$vlozpath)) $picture = $vlozpath; } $fp = fopen('/home/rehautr/public_html/mailuploads/'.$vlozpath,"rb"); if (!$fp) mosErrorAlert('Невозможно открыть файл'); # $file = fread($fp, filesize($vlozpath)); $file = fread($fp, filesize('/home/rehautr/public_html/mailuploads/'.$vlozpath)); fclose($fp); $boundary = "--".md5(uniqid(time())); $headers = "MIME-Version: 1.0;$EOL"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL"; $headers .= "From: $email"; $multipart = "--$boundary$EOL"; $multipart .= "Content-Type: text/html; charset=windows-1251$EOL"; $multipart .= "Content-Transfer-Encoding: base64$EOL"; $multipart .= $EOL; $multipart .= chunk_split(base64_encode($text));
$multipart .= "$EOL--$boundary$EOL"; $multipart .= "Content-Type: application/octet-stream; name=\"$vlozpath\"$EOL"; $multipart .= "Content-Transfer-Encoding: base64$EOL"; $multipart .= "Content-Disposition: attachment; filename=\"$vlozpath\"$EOL"; $multipart .= $EOL; $multipart .= chunk_split(base64_encode($file));
$multipart .= "$EOL--$boundary--$EOL"; if(!mail('[email protected]', "Заказ с сайта", $multipart, $headers)) echo "<p><span style=\"color:#FF0000; font-weight:bold\">Во время отправления Вашего сообщения произошла ошибка!</span> Пожалуйста, проверьте правильность заполнения полей формы и попробуйте ещё раз. Если ошибка повторяется, пожалуйста, свяжитесь с нами по телефону указанному ниже.</p>"; else echo "<p><span style=\"color:#FF0000; font-weight:bold\">Ваше сообщение было успешно отправлено!</span></p>"; if (!empty($_FILES['mail_file']['tmp_name'])) unlink ('/home/rehautr/public_html/mailuploads/'.$vlozpath);
} ?>
|
|