Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Objętoś załącnzików w mailach
Forum PHP.pl > Forum > PHP
marekk
Napisałem skrypt wysyłający maile z pewnymi grafikami z tym, że są one osadzane w mailu przy użyciu cid i tutaj pojawia się pewien problem. 2-3 obrazki pryzchodza mi poprawnie w sformatowanym mailu a nastepne niestety nie. Przeanalizowałem i okazuje się, ze chodzi o obejętość grafik gdyż jelsi dam mniejsze mogępsokojnie wysłac i 5 grafik. I tutaj moje pytanie - czy są jakieś parametry odpowiedzialne za max dopuszczalna objętość w tak skonstruowanych mailach? Dla pryzkładu fragment kodu ponizej:

// nagłówki i obsługa załącznika
$tresc .="--$znacznik2--\n\n";
$tresc .="--$znacznik1\n";
$tresc .="Content-Type: image/gif;\n";
//$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$nazwapliku\"\n";
$tresc .="Content-Transfer-Encoding: base64\n";
$tresc .="Content-ID: <$cid>\n\n";
$f = fopen($plik,"rb");
$dane = fread($f,filesize($plik));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));


// załącznik 2
$tresc .="--$znacznik1\n";
$tresc .="Content-Type: $typpliku\n";
//$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$nazwapliku2\"\n";
$tresc .="Content-Transfer-Encoding: base64\n";
$tresc .="Content-ID: <$cid2>\n\n";
$f = fopen($plik2,"rb");
$dane = fread($f,filesize($plik2));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
// załącznik 2 end

Kolejne grafiki sa identycznie załaczane a wszystkie odpowiednio wczesniej zdefiniowane i dołaczane do maila. Prosze o jkaieś informacje.
Mirer
Napisz sobie prostą metodę w klasie odpowiedzialnej za maile sprawdzającą wielkość dołączanych plików przy użyciu:
  1. <?php
  2. filesize($plik)
  3. ?>


Np.
  1. <?php
  2. class mail
  3. {
  4.  private $max_size='xxx'; // maksymalna wielkość pliku
  5.  private $fileArray; // lista ścieżek do plików, które dołączasz do maila
  6.  private function maxSize()
  7.  {
  8. foreach($this->fileArray)
  9.  {
  10. $files+=filesize($fileArray);
  11. if($files>$this->max_size)
  12.  {
  13. die('Wybrane pliki przekraczają dopuszczalną wielkość: '.$this->max_size.' Wybierz inne pliki!');
  14. }
  15. }
  16. }
  17. }
  18. ?>
marekk
Tylko mi chodzi o to zeby wysłac wieksze maile, tzn. wlasnie o to pytałem czy gdzies się przypadkiem nie ustawia jakiegoś paramteru... załaczane grafiki wcale nie sa jakies kosmicznie wielkie, dokladnie maja po 20kb mniej wiecej a max 3 sie mieszcza i zaczyna ucinać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.