Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dwa załączniki w emailu - jak dodać drugi?
id4
post 2.12.2003, 23:01:19
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 1
Dołączył: --
Skąd: Rogożnik /K-ce/

Ostrzeżenie: (0%)
-----


Witam.

Na początku pisz , że szukałem na forach i nie znalazłem rozwiązania mojego problemu, choć może wydawać się on bardzo prosty do rozwiązania.
Chcę zrobić formularz do wysyłania @, ale z dwoma załącznikami. Wszędzie znajdywałem jedynie rozwiązania dla jednego załącznika. Napisałem coś takiego (oczywiście to tylko flagment całego kodu który pobiera o koduje załączniki):

[php:1:4af7c6e6c6]<?php
$filecv=fopen($cv,"r");
$contentscv=fread($filecv,$cv_size);
$encoded_attachcv=chunk_split(base64_encode($contentscv));
fclose($filecv);

$filezdjecie=fopen($zdjecie,"r");
$contentszdjecie=fread($filezdjecie,$zdjecie_size);
$encoded_attachzdjecie=chunk_split(base64_encode($contentszdjecie));
fclose($filezdjecie);

$headers.="Content-type: multipart/mixed; ";
$headers.="boundary="Message-Boundary"n";
$headers.="Content-transfer-encoding: 7BITn";
$headers.="X-attachments: $cv_name";
$headers.="X-attachments: $zdjecie_name";

$top="--Message-Boundaryn";
$top.="Content-type: text/html; charset=iso-8859-2n";
$top.="Content-transfer-encoding: 7BITn";
$top.="Content-description: Mail message bodynn";

$bottom="nn--Message-Boundaryn";
$bottom.="Content-type: $cv_type; name="$cv_name"n";
$bottom.="Content-Transfer-Encoding: BASE64n";
$bottom.="Content-disposition: attachment; filename="$cv_name"nn";
$bottom.="$encoded_attachcvn";
$bottom.="--Message-Boundary--n";

$bottom.="nn--Message-Boundaryn";
$bottom.="Content-type: $zdjecie_type; name="$zdjecie_name"n";
$bottom.="Content-Transfer-Encoding: BASE64n";
$bottom.="Content-disposition: attachment; filename="$zdjecie_name"nn";
$bottom.="$encoded_attachzdjecien";
$bottom.="--Message-Boundary--n";

?>[/php:1:4af7c6e6c6]

Z forma podaję 2 pliki: $cv i $zdjecie. Mój problem polega na tym, iż do listu dołączony jest jeden załącznik, a nie dwa - to znaczy w źródle emaila jest ten dwugi zakodowany załącznik, ale nie ma go na liście do bezpośredniego pobrania. Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
G. Skaruz
post 3.12.2003, 08:26:24
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Siedlce

Ostrzeżenie: (0%)
-----


Skorzystać z gotowej klasy, htmlMimeMail na phpclasses.org


--------------------
--
Grzegorz Skaruz / www.skaruz.com
Go to the top of the page
+Quote Post
FiDO
post 3.12.2003, 10:14:44
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Ewentualnie stworzyc maila z 2 zalacznikami w Twoim kliencie pocztowym, umiescic w elementach do wyslania, podgladnac i przeanalizowac zrodlo.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
id4
post 3.12.2003, 17:17:57
Post #4





Grupa: Zarejestrowani
Postów: 223
Pomógł: 1
Dołączył: --
Skąd: Rogożnik /K-ce/

Ostrzeżenie: (0%)
-----


Witam ponownie.
Sprawa załatwiona - głównie przez jedną linię w kodzie (zaremowana). Reszta kodu działa poprawnie dla dwuch załączników, które potrzebowałem. Po rozbudowaniu kodu i zabezpieczeniu formularza (np. zgłoszeniowego) można zbudować niezłe narzędzie z nieograniczoną liczbą załączników itp.
[php:1:f09f3e79f7]<?php
$filecv=fopen($cv,"r");
$contentscv=fread($filecv,$cv_size);
$encoded_attachcv=chunk_split(base64_encode($contentscv));
fclose($filecv);

$filezdjecie=fopen($zdjecie,"r");
$contentszdjecie=fread($filezdjecie,$zdjecie_size);
$encoded_attachzdjecie=chunk_split(base64_encode($contentszdjecie));
fclose($filezdjecie);

$headers.="Content-type: multipart/mixed; ";
$headers.="boundary="Message-Boundary"n";
$headers.="Content-transfer-encoding: 7BITn";
$headers.="X-attachments: $cv_name";
$headers.="X-attachments: $zdjecie_name";

$top="--Message-Boundaryn";
$top.="Content-type: text/html; charset=iso-8859-2n";
$top.="Content-transfer-encoding: 7BITn";
$top.="Content-description: Mail message bodynn";

$bottom="nn--Message-Boundaryn";
$bottom.="Content-type: $cv_type; name="$cv_name"n";
$bottom.="Content-Transfer-Encoding: BASE64n";
$bottom.="Content-disposition: attachment; filename="$cv_name"nn";
$bottom.="$encoded_attachcvn";
//$bottom.="--Message-Boundary--n";

$bottom.="nn--Message-Boundaryn";
$bottom.="Content-type: $zdjecie_type; name="$zdjecie_name"n";
$bottom.="Content-Transfer-Encoding: BASE64n";
$bottom.="Content-disposition: attachment; filename="$zdjecie_name"nn";
$bottom.="$encoded_attachzdjecien";
$bottom.="--Message-Boundary--n";
?>[/php:1:f09f3e79f7]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 1.07.2025 - 06:35