За последние 24 часа нас посетили 34094 программиста и 1742 робота. Сейчас ищут 993 программиста ...

Отправка на E-Mail

Тема в разделе "PHP для новичков", создана пользователем greenzlat, 18 апр 2009.

  1. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Есть 2 файла: форма и обработчик.
    Форма sendmas.php:
    Код (Text):
    1.  
    2. <form action="send.php" method="GET" name="mailform">
    3. <p>Ваш имя:              
    4. <input type="text" name="name">
    5.               <br>
    6. Ваш email:
    7. <input type="text" name="email">
    8. <br>
    9. Ваше сообщение:
    10. <textarea name="textarea" cols="45" rows="5"></textarea>
    11. </p>
    12. <p>
    13. <input type="submit" name="button" value="Отправить" />
    14. </p>
    15.           </form>
    И сам обработчик send.php:
    PHP:
    1.  
    2. <p>
    3. Спасибо! Ваши данные сохранены.
    4.  
    5. Ваше имя: <? echo $name ?>
    6. <p>
    7. Ваш e-mail: <? echo $email ?>
    8. <?
    9. $tomail = "xxx@mail.ru";
    10. $subject = "проверка!!!";
    11. $message = "Имя: $name<br>
    12. Email: $email<br>
    13. Текст сообщения: $textarea";
    14. mail($tomail,$subject,$message);
    15. ?>
    Отправка не происходит! Где ошибка??
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    greenzlat
    Посмотреть логи :)
    Готовое решение:
    PHP:
    1.  
    2. <?php
    3. # Send Mail
    4.            $From = [email='bot@arendapro.ru]'bot@arendapro.ru[/email]';
    5.            $To = [email='1075841@mail.ru]'1075841@mail.ru[/email]';
    6.             $Subject = 'Новая заявка с сайта ARENDAPRO!';
    7.            
    8.             $headers  = 'MIME-Version: 1.0' . "\r\n";
    9.             $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    10.             $headers .= 'To: Игорь <1075841@mail.ru>' . "\r\n";
    11.             $headers .= 'From: ARENDAPRO <'.$From.'>' . "\r\n";
    12.            
    13.             $Message = '---Автоматическое сообщение с сайта ARENDAPRO---<br>
    14.            ФИО: ' . $order_name . '<br>
    15.            Номер телефона: ' . $order_phone . '<br>
    16.            Email: ' . $order_email . '<br>
    17.            Он хочет <strong>' . $order_iwant . '</strong> недвижимость<br>
    18.            Его комментарий: <i>' . $order_comments . '</i><br><br>
    19.            ---Конец автоматического сообщения---';
    20.            
    21.             ####################################################################
    22.  
    23.            
    24.             if (mail ($To, $From, $Message, $headers)){
    25.                 $out = 'Ваша заявка успешно отправлена! Спасибо!';
    26.                 mail ([email='eakhundzade@gmail.com]'eakhundzade@gmail.com[/email]', $From, $Message, $headers);
    27.            } else {
    28.                $out = 'Ошибка (SMTP-error)';
    29.            }
    30.  
     
  3. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    greenzlat
    Шлешь на мейловский ящик (@mail.ru) - попробуй послать на другой (мейл сильно режет спам, и даже если у тебя не спам, но твоего IP нет в списках разешенных mail.ru - может тоже не пропускать)
     
  4. Sindicat

    Sindicat Активный пользователь

    С нами с:
    10 фев 2009
    Сообщения:
    46
    Симпатии:
    0
    ты сначало прийми данные $_GET['name'] $_GET['email'] $_GET['textarea']
     
  5. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Sindicat
    +1, даже не обратил внимания

    greenzlat
    Читать - www.phpfaq.ru/globals
     
  6. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Сделал вот так:
    Код (Text):
    1. <?
    2. $name = $_GET['name'];
    3. $email = $_GET['email'];
    4. $textarea = $_GET['textarea'];
    5. ?>
    6.  
    7. Спасибо! Ваши данные сохранены.
    8. Ваше имя: <? echo $name ?>
    9. <p>
    10. Ваш e-mail: <? echo $email ?>
    11. <?
    12. $tomail = 'greenzlat@mail.ru';
    13. $subject = 'Техзадание!!!';
    14. $message = 'Имя: $name<br>
    15. Email: $email<br>
    16. Текст: $textarea';
    17. mail($tomail,$subject,$message);
    18. ?>
    Но на почту приходит письмо в таком виде:

    Имя: $name<br>
    Email: $email<br>
    Текст: $textarea
    Вместо переменных ничего не подставляется!
     
  7. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    См ниже пост, а вот вы фильтруйте $_GET, не присваивайте значения напрямую.
     
  8. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    $message = 'Имя: $name<br>
    Email: $email<br>
    Текст: $textarea';

    Замени ' на " (на двойные кавычки)
     
  9. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    PHP:
    1. <?
    2. $name= $_GET['name'];
    3.  
    4. $text = $_GET['text'];
    5. ?>
    6.  
    7. Спасибо! Ваше письмо отправлено.<br />
    8.  
    9. <?
    10. $tomail = [email='XXX@mail.ru]'XXX@mail.ru[/email]';
    11. $subject = 'Пример';
    12. $message = "$text ";
    13.  
    14. $headers.="Content-Type: text/plain; charset=windows-1251\r\n";
    15. $headers.="X-Mailer: PHP/".phpversion()."\r\n";
    16. mail("$tomail","$subject", $message, $headers);
    17.  
    18. ?>
    Почему письмо не приходить на ящик??? А вот если ящик не с mail то приходит)? В чем прикол?