Отправка анкеты и прикрепленной картинки на E-mail

Тема в разделе "PHP программирование", создана пользователем SomlicH, 14 мар 2006.

Статус темы:
Закрыта.
  1. SomlicH

    SomlicH Гость

    Проблема такая - есть на сайте страничка, где пользователь заполняет несколько полей и прикрепляет файл (несколько файлов) с картинками и вся эта радость отправляется на мое мыло.
    Все хорошо, но только я не знаю как это сделать, лазил по инету - нарыл кучу всяких скриптов на PHP, но одни то выдаются какие-то ошибки, другие фиг поймешь как настроить, для третих нужно что-то установить.
    Может кто поможет отчаявшемуся человеку и укажет скрипт, или хоть наметки какие нибудь, а? :(
    Need help!!!
     
  2. ????

    ???? Гость

    Для: SomlicH
    какие скрипты пробовал (что-бы не повторяться)
     
  3. Gisma

    Gisma Гость

    PEAR:mail
     
  4. SomlicH

    SomlicH Гость

    Например, для чайников, но пишет что что-то с методом POST, кстати, сайт на народе, может с этим вся промблема?
    <?php
    if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
    // проверяем правильности заполнения с помощью регулярного выражения
    if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com");
    $_POST['mail_to'] = htmlspecialchars(stripslashes($_POST['mail_to']));
    $_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject']));
    $_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg']));
    $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);
    // Вспомогательная функция для отправки почтового сообщения с вложением
    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 = '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($to, $thm, $multipart, $headers))
    {
    echo "К сожалению, письмо не отправлено";
    exit();
    }
    }
    ?>

    И всякие типа: wosendfile, MailForm и др.
    Если я правильно понял вопрос.
    И еще может скрипты то рабочие, но я туплю???
     
  5. neeoon

    neeoon Гость

    А как прикрепить изображение, так что бы оно отображалось в письме, тоесть когда снимаеш почту например зе батом
     
Загрузка...
Похожие Темы - Отправка анкеты прикрепленной
  1. k85
    Ответов:
    4
    Просмотров:
    89
  2. k85
    Ответов:
    10
    Просмотров:
    882
  3. motogarri
    Ответов:
    4
    Просмотров:
    794
  4. JohnLemon
    Ответов:
    18
    Просмотров:
    1.558
  5. erdi
    Ответов:
    3
    Просмотров:
    1.380
Статус темы:
Закрыта.

Поделиться этой страницей