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():
<?php ?>
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:
<?php $boundary = \"-->===_54654747_===<---->>4255==_\"; $head = \"From: adres@domena.pln\"; $head = $head . \"Reply-To: system@domena.pln\"; $head = $head . \"X-Mailer: phpn\"; $head = $head . \"X-Sender: system@domena.pln\"; $head = $head . \"MIME-version: 1.0n\"; $head = $head . \"Content-type: multipart/mixed; \"; $head = $head . \"boundary=\"$boundary\"n\"; $head = $head . \"Content-transfer-encoding: 7BITn\"; $head = $head . \"X-attachments: $filename_name;nn\"; $mesg = \"--\" . $boundary . \"n\"; $mesg = $mesg . \"Content-Type: text/plain; charset=\"iso-8859-2\"nn\"; $mesg = $mesg . \"Jakaś tam treść - linijka 1 \" . \"n\"; $mesg = $mesg . \"Jakaś tam treść - linijka 2 \" . \"n\"; $mesg = $mesg . \"--\" . $boundary . \"n\"; $mesg = $mesg . \"Content-type: \" . $filename_type . \"; name = \"$filename_name\"; n\"; $mesg = $mesg . \"Content-Transfer-Encoding: base64n\"; $mesg = $mesg . \"Content-disposition: attachment; filename= \"$filename_name\"nn\"; $mesg = $mesg . fileopenanddecode($filename) . \"n\"; $mesg = $mesg . \"--\" . $boundary . \"-- n\"; ?>
Będę wdzięczny za wszelką pomoc bo nie bardzo wiem, czego się uchwycić.
Pozdrawiam,
Krzysiek