Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie załącznika funkcją mail(), Czasami otrzymany załącznik ma 0 KB!
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Korzystam z funkcji mail() do wysyłania wiadomości z poziomu systemu,
działającego na serwerze wirtualnym. Wiadomość zawiera załącznik wstawiony
przez juzera na stronie - zwykle jest to dokument Worda. Rozmiar dokumentu
nie przekracza 40 KB.

Poczta wysyłana jest zawsze na 2 adresy - mój własny i juzera. Każde
wysłanie odbywa się osobną funkcją mail():
  1. <?php
  2.  
  3. mail (&#092;"$AdresJuzera\", \"Temat wiadomości\", $mesg, $head);
  4. mail (mojadres@domena.pl, &#092;"Temat wiadomości\", $mesg, $head);
  5.  
  6. ?>

Skrzynki juzerów są na różnych serwerach - poczta.onet.pl, interia.pl etc.

Okazuje się, że na niektóre skrzynki, - np. onet, wp - załącznik dociera
jako plik o wielkości 0 KB. To znaczy jeśli np. oglądam zawartość poczty
poprzez stronę www to widzę prawidłowy rozmiar załącznika, ale przy próbie
zapisania go na dysku lub otwarcia okazuje się on pusty.

Jak to jest możliwe? Ktoś poradził mi zamienić wszystkie \r\n na \n w
nagłówkach wiadomości, ale ja już wszędzie mam same \n a mimo to problem
pozostaje.

Załączam część skryptu odpowiedzialną za generowanie poczty, może to coś
pomoże:
  1. <?php
  2.  
  3. $boundary = &#092;"-->===_54654747_===<---->>4255==_\";
  4. $head = &#092;"From: adres@domena.pln\";
  5. $head = $head . &#092;"Reply-To: system@domena.pln\";
  6. $head = $head . &#092;"X-Mailer: phpn\";
  7. $head = $head . &#092;"X-Sender: system@domena.pln\";
  8. $head = $head . &#092;"MIME-version: 1.0n\";
  9. $head = $head . &#092;"Content-type: multipart/mixed; \";
  10. $head = $head . &#092;"boundary=\"$boundary\"n\";
  11. $head = $head . &#092;"Content-transfer-encoding: 7BITn\";
  12. $head = $head . &#092;"X-attachments: $filename_name;nn\";
  13.  
  14. $mesg = &#092;"--\" . $boundary . \"n\";
  15. $mesg = $mesg . &#092;"Content-Type: text/plain; charset=\"iso-8859-2\"nn\";
  16. $mesg = $mesg . &#092;"Jakaś tam treść - linijka 1 \" . \"n\";
  17. $mesg = $mesg . &#092;"Jakaś tam treść - linijka 2 \" . \"n\";
  18. $mesg = $mesg . &#092;"--\" . $boundary . \"n\";
  19. $mesg = $mesg . &#092;"Content-type: \" . $filename_type . \"; name =
  20. &#092;"$filename_name\"; n\";
  21. $mesg = $mesg . &#092;"Content-Transfer-Encoding: base64n\";
  22. $mesg = $mesg . &#092;"Content-disposition: attachment; filename=
  23. &#092;"$filename_name\"nn\";
  24. $mesg = $mesg . fileopenanddecode($filename) . &#092;"n\";
  25. $mesg = $mesg . &#092;"--\" . $boundary . \"-- n\";
  26.  
  27. mail (&#092;"$Adres\", \"Tytuł wiadomości\", $mesg, $head);
  28.  
  29. ?>


Będę wdzięczny za wszelką pomoc bo nie bardzo wiem, czego się uchwycić.

Pozdrawiam,
Krzysiek
Go to the top of the page
+Quote Post

Posty w temacie
- ktuvok   Wysyłanie załącznika funkcją mail()   14.11.2004, 21:19:00


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 Aktualny czas: 20.08.2025 - 04:43