За последние 24 часа нас посетили 30564 программиста и 1796 роботов. Сейчас ищут 774 программиста ...

Отправка почты с аттачментами

Тема в разделе "PHP для новичков", создана пользователем produser, 3 мар 2012.

  1. produser

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

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Здравствуйте. Стала задача отправлять почту с вложением. нашел код на каком то сайте, все работало. В один момент задача усложнилась, надо теперь отправлять не один а два файла... Изменил код(как на мой взгляд должно бы работать) но в место второго файла приходит такая хрень:

    500 Б∙Из≥Мvс]╢ъMУГM╢жW÷╥┤^iыZ╨w!z╦╖┴m1┘у╧█║∙иt4)┘╣∙аа╠╔█┘я╔╫╦У╠∙≥пя▒∙┘░╧∙А■4)I∙ы1╫┘▒∙иаа╠╔█┘я╔╫╦УIU9}0я╧∙А■4)I∙ы1╫┘▒∙и╧┘┴╠∙░Уe∙л4)M║╫щ9╔█╜ ║┘╧²∙ уяя╫╦У9╪4)1╫┘▒Aи∙∙≥╔╧∙▒5┘алУe∙л4)1╫┘▒ умя╫╣5┘ам╔╠■Уe∙л4) ║∙█╜Mя┘╧▒┘ия5┘алУe∙л4) ║∙█╜ умя╫╣5┘алУe∙л4)Iу╧Aи∙≥╔ЮТ4)Iу╧Aи∙≥╔АA┘и┘╢Т4)Iу╧Aи∙≥╔А╧┘┴╠∙░У9╪4)Iу╧M∙иы∙иA┘и┘╣∙яи∙лТ╣м∙иы∙и┴и╫щм∙х─╜╔ю─ю╦ю╦ю╦ю─╜мы}┘╠╠╫щ}╠╫┴┴Е}█╫╧╧∙█я}╫╧╠Д─ю4)Iу╧ ╫╧╧∙█яA┘и┘╣∙яи∙лТ╣м∙иы∙и┴и╫щм∙х4) ╠╫м∙ии╫и]╔╧▒╫щлУ9╪4(

    А первый файл приходит нормально, не текстом, а файлом...

    Вот код (уже модифицированный мной, я добавил переменную filename1)

    Код (Text):
    1.  
    2.     function SendMail( $from, $to, $subject, $text, $filename, $filename1)
    3. {
    4. $f = fopen($filename,"rb");
    5. $f1 = fopen($filename1,"rb");
    6. $un = strtoupper(uniqid(time()));
    7. $head = "From: $from\n";
    8. $head .= "To: $to\n";
    9. $head .= "Subject: $subject\n";
    10. $head .= "X-Mailer: PHPMail Tool\n";
    11. $head .= "Reply-To: $from\n";
    12. $head .= "Mime-Version: 1.0\n";
    13. $head .= "Content-Type:multipart/mixed;";
    14. $head .= "boundary=\"----------".$un."\"\n\n";
    15. $mes = "------------".$un."\nContent-Type:text/html;\n";
    16. $mes .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
    17. $mes .= "------------".$un."\n";
    18. $mes .= "Content-Type: application/octet-stream;";
    19. $mes .= "name=\"".basename($filename)."\"\n";
    20. $mes .= "name1=\"".basename($filename1)."\"\n";
    21. $mes .= "Content-Transfer-Encoding:base64\n";
    22. $mes .= "Content-Disposition:attachment;";
    23. $mes .= "filename=\"".basename($filename)."\"\n\n";
    24. $mes .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
    25. $mes .= "filename1=\"".basename($filename1)."\"\n\n";
    26. $mes .= chunk_split(base64_encode(fread($f1,filesize($filename1))))."\n";
    27. if (!@mail("$to", "$subj", $mes, $head)){
    28. return 0;}
    29. else {
    30. return 1;}
    31. }
    Подскажите как нужно поправить код что бы он отправлял 2 вложения.
    Зараннее спасибо...
     
  2. produser

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

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Все, разобрался сам...