Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Objętoś załącnzików w mailach
marekk
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 27.05.2003

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


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.
Go to the top of the page
+Quote Post
Mirer
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 23.08.2006

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


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. ?>


Ten post edytował Mirer 28.08.2006, 09:37:15
Go to the top of the page
+Quote Post
marekk
post
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 27.05.2003

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


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ć.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 06:26