За последние 24 часа нас посетил 16361 программист и 1546 роботов. Сейчас ищут 798 программистов ...

Отправка письма с сайта

Тема в разделе "Сделайте за меня", создана пользователем modic, 24 июл 2017.

  1. modic

    modic Новичок

    С нами с:
    24 июл 2017
    Сообщения:
    6
    Симпатии:
    0
    Просьба помочь.
    Есть скрипт:
    Код (Text):
    1. a.putmakov@fakt-group.ru,marketing@fakt-group.ru,a.barinov@fakt-group.ru,
    2.  
    3.  
    4. // пример использования
    5. $file = "./docs/test.txt"; // файл
    6. $mailTo = "*@fakt-group.ru"; // кому
    7. $from = "**@fakt-group.ru"; // от кого
    8. $subject = "Test file"; // тема письма
    9. $message = "Тестовое письмо с вложением"; // текст письма
    10. $name = Trim(stripslashes($_POST['name']));
    11. $email = Trim(stripslashes($_POST['email']));
    12.  
    13. $r = sendMailAttachment($mailTo, $from, $subject, $message, $file); // отправка письма c вложением
    14. echo ($r)?'Письмо отправлено':'Ошибка. Письмо не отправлено!';
    15. //$r = sendMailAttachment($mailTo, $from, $subject, $message); // отправка письма без вложения
    16. //echo ($r)?'Письмо отправлено':'Ошибка. Письмо не отправлено!';
    17. /**
    18. * Отправка письма с вложением
    19. * @param string $mailTo
    20. * @param string $from
    21. * @param string $subject
    22. * @param string $message
    23. * @param string|bool $file - не обязательный параметр, путь до файла
    24. *
    25. * @return bool - результат отправки
    26. */
    27. function sendMailAttachment($mailTo, $from, $subject, $message, $file = false){
    28.     $separator = "---"; // разделитель в письме
    29.     // Заголовки для письма
    30.     $headers = "MIME-Version: 1.0\r\n";
    31.     $headers .= "From: $from\nReply-To: $from\n"; // задаем от кого письмо
    32.     $headers .= "Content-Type: multipart/mixed; boundary=\"$separator\""; // в заголовке указываем разделитель
    33.     // если письмо с вложением
    34.     if($file){
    35.         $bodyMail = "--$separator\n"; // начало тела письма, выводим разделитель
    36.         $bodyMail .= "Content-type: text/html; charset='utf-8'\n"; // кодировка письма
    37.         $bodyMail .= "Content-Transfer-Encoding: quoted-printable"; // задаем конвертацию письма
    38.         $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=\n\n"; // задаем название файла
    39.         $bodyMail .= $message."\n"; // добавляем текст письма
    40.         $bodyMail .= "--$separator\n";
    41.         $fileRead = fopen($file, "r"); // открываем файл
    42.         $contentFile = fread($fileRead, filesize($file)); // считываем его до конца
    43.         fclose($fileRead); // закрываем файл
    44.         $bodyMail .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode(basename($file))."?=\n";
    45.         $bodyMail .= "Content-Transfer-Encoding: base64\n"; // кодировка файла
    46.         $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=\n\n";
    47.         $bodyMail .= chunk_split(base64_encode($contentFile))."\n"; // кодируем и прикрепляем файл
    48.         $bodyMail .= "--".$separator ."--\n";
    49.     // письмо без вложения
    50.     }else{
    51.         $bodyMail = $message;
    52.     }
    53.     $result = mail($mailTo, $subject, $bodyMail, $headers); // отправка письма
    54.     return $result;
    55. }
    Необходимо, чтобы письмо с вложением уходило пользователю, который указал в поле свою почту $email, а письмо с данными какую почту и имя он указал - на почту $mailTo.

    Огромная просьба помочь! Спасибо
     
    #1 modic, 24 июл 2017
    Последнее редактирование: 24 июл 2017
  2. modic

    modic Новичок

    С нами с:
    24 июл 2017
    Сообщения:
    6
    Симпатии:
    0
    Чтобы уходило пользователю на ту почту, которую он указал в форме обратной связи, я сделал.
    Как сделать, чтобы письмо также уходило на назначенный email с данными $email и $name?
     
  3. villiwalla

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

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Предполагаю сделать также как ты сделал для юзера.
     
  4. modic

    modic Новичок

    С нами с:
    24 июл 2017
    Сообщения:
    6
    Симпатии:
    0
    Я плохо понимаю программирование.
    Затык в этой строке, видимо
    Код (Text):
    1.     }else{
    2.         $bodyMail = $message;
    3.     }
    4.     $result = mail($email, $subject, $bodyMail, $headers); // отправка письма
    5.     return $result;
    Что здесь прописать для отправки второго письма на $mailTo с данными с переменными $name $email в тексте письма?
    Буду очень благодарен.
     
    #4 modic, 24 июл 2017
    Последнее редактирование: 24 июл 2017
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    зачем берешься за программирование и врать клиенту/заказчику, при этом не имея понятия что ты вовсе делаешь ? Для чего ты скопировал этот код ? По идее, взял с интернета любой говнокод, пришел на форум, высрал, на те вам программисты - я белый пушистый, кодьте за меня, а я фиг буду вникать и руки марать.
     
  6. modic

    modic Новичок

    С нами с:
    24 июл 2017
    Сообщения:
    6
    Симпатии:
    0
    Я берусь за программирование, потому что делаю для себя. И врать некому заказчику не вижу смысла. Выше написал, что нет успеха в программировании, занимаюсь иным, а не программированием. И, вроде как, форум создан в том числе, чтобы помочь людям, которые плохо разбираются. А вместо помощи - необоснованная критика. Ну, что ж, человеческий род такой))
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    Сделайте за меня
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @modic, ты особо не задейвайся, и всех под одну гребенку не надо. Один покритикует, второй просто так доебется, третий возьмет поможет.
     
  9. modic

    modic Новичок

    С нами с:
    24 июл 2017
    Сообщения:
    6
    Симпатии:
    0
    Сижу в ожидании третьего. :)
    Спасибо.
     
  10. modic

    modic Новичок

    С нами с:
    24 июл 2017
    Сообщения:
    6
    Симпатии:
    0
    Возможно, коряво, но реализовал то, что хотел следующим образом.
    Может кому понадобится.

    Код (Text):
    1. <?php
    2. $file = "./docs/price.docx"; // файл
    3. $mailTo = "*"; // кому
    4. $EmailTo = "*";    // insert your email address here
    5. $from = "sales@fakt-group.ru"; // от кого
    6. $subject = "*"; // тема письма
    7. $name = Trim(stripslashes($_POST['name']));
    8. $email = Trim(stripslashes($_POST['email']));
    9. /**
    10. * Отправка письма с вложением
    11. * @param string $mailTo
    12. * @param string $from
    13. * @param string $subject
    14. * @param string $message
    15. * @param string|bool $file - не обязательный параметр, путь до файла
    16. *
    17. * @return bool - результат отправки
    18. */
    19. function sendMailAttachment($email, $from, $subject, $message2, $file = false){
    20.     $separator = "---"; // разделитель в письме
    21.     // Заголовки для письма
    22.     $headers = "MIME-Version: 1.0\r\n";
    23.     $headers .= "From: $from\nReply-To: $from\n"; // задаем от кого письмо
    24.     $headers .= "Content-Type: multipart/mixed; boundary=\"$separator\""; // в заголовке указываем разделитель
    25.     // если письмо с вложением
    26.     if($file){
    27.         $bodyMail = "--$separator\n"; // начало тела письма, выводим разделитель
    28.         $bodyMail .= "Content-type: text/html; charset='utf-8'\n"; // кодировка письма
    29.         $bodyMail .= "Content-Transfer-Encoding: quoted-printable"; // задаем конвертацию письма
    30.         $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=\n\n"; // задаем название файла
    31.         $bodyMail .= $message."\n"; // добавляем текст письма
    32.         $bodyMail .= "--$separator\n";
    33.         $fileRead = fopen($file, "r"); // открываем файл
    34.         $contentFile = fread($fileRead, filesize($file)); // считываем его до конца
    35.         fclose($fileRead); // закрываем файл
    36.         $bodyMail .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode(basename($file))."?=\n";
    37.         $bodyMail .= "Content-Transfer-Encoding: base64\n"; // кодировка файла
    38.         $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=\n\n";
    39.         $bodyMail .= chunk_split(base64_encode($contentFile))."\n"; // кодируем и прикрепляем файл
    40.         $bodyMail .= "--".$separator ."--\n";
    41.     // письмо без вложения
    42.     }else{
    43.         $bodyMail = $message2;
    44.     }
    45.    
    46.         $result = mail($email, $subject, $bodyMail, $headers, $message2); // отправка письма
    47.    
    48.         return $result;
    49.  
    50. }?>
    51.  
    52. <?php
    53.  
    54.  
    55. // Get the Values from the Contact form
    56. $EmailFrom = "*";
    57. $EmailTo = "*";    // insert your email address here
    58. $Subject = "*"; // insert your Subject here
    59. $name = Trim(stripslashes($_POST['name']));
    60. $email = Trim(stripslashes($_POST['email']));
    61. $phone = Trim(stripslashes($_POST['phone']));
    62. $message = Trim(stripslashes($_POST['message']));
    63.  
    64.  
    65. // Assign the values to the variables for the email
    66. $Body = "";
    67.  
    68. $Body .= "Имя: ";
    69.   $Body .= $name;
    70.  
    71. $Body .= "\n";
    72.  
    73. $Body .= "Почта: ";
    74.   $Body .= $email;
    75.  
    76. $Body .= "\n";
    77.  
    78. $Body .= "Телефон: ";
    79.   $Body .= $phone;
    80.  
    81. $Body .= "\n";
    82.  
    83.  
    84. $Headers  = 'MIME-Version: 1.0' . "\r\n";
    85. $Headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    86. $Headers .= 'From: *' . "\r\n";
    87.  
    88. // Send mail
    89. $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
    90.  
    91. ?>
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень