Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]załącznik w mailu
Forum PHP.pl > Forum > Przedszkole
Larges
szukałem na forum tematu odnośnie załączników w mailu, oto dowód:
http://forum.php.pl/index.php?showtopic=37...rt=#entry211237 ;]

Jest tam wytłumaczone jak przypiąć załącznik do wiadomości (np. logo) jednak nie wiem jaka komenda wrzuca ten załącznik do maila. Czy można wrzucić załącznik do maila (robie newsletter) z ścieżki np. .../obrazko/logo.gif ?
KolegS
najprościej wykorzystać klase phpmailer tutaj link PHPEdia
Larges
Ok dzięki zapoznałem się z tą opcją. Nie ma jednak zwykłego polecenia, które wrzuca plik z adresu z serwera do wiadomości jako załącznik?
JoShiMa
Cytat(Larges @ 17.06.2008, 19:41:42 ) *
Nie ma jednak zwykłego polecenia, które wrzuca plik z adresu z serwera do wiadomości jako załącznik?

Nie. Plik trzeba 'ręcznie' wczytać i zgrabnie dokleić między nagłówkami a treścią z odpowiednimi znacznikami. Jak jesteś zainteresowany mogę pokazać jak to się robi.
Larges
Oczywiście że jestem zainteresowany. Jak możesz, wklej swój kod z którego korzystasz.
JoShiMa
Nie ma sprawy, to żadna tajemnica smile.gif

  1. <?php
  2. $znacznik = md5(uniqid(rand()));
  3. // definicja nagłówków
  4. $naglowek = "Return-Path: ".$from."\n";
  5. $naglowek .= "From: ".$from."\n";
  6. $naglowek .= "MIME-Version: 1.0\n";
  7. $naglowek .= "Content-Type: multipart/mixed;\n";
  8. $naglowek .= "\tboundary=\"___$znacznik==\"";
  9.  
  10.  
  11. $tresc="--___$znacznik==\n";
  12. $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  13. $tresc .="Content-Transfer-Encoding: 8bit\n";
  14. $tresc .="\n$tresc_listu\n";
  15.  
  16. // nagłówki i obsługa załącznika pętla bo może być kilka załączników
  17. //typ i nazwa pliku przekazane jako pola tabeli
  18. $liczba_zalacznikow = count($zalacznik);
  19. for($i=0;$i<$liczba_zalacznikow;$i++){
  20. $tresc .="\n--___$znacznik==\n";
  21. $tresc .="Content-Type: $zalacznik['typ'][$i]\n";
  22. $tresc .="Content-Disposition: attachment;\n";
  23. $tresc .=" filename=\"$zalacznik['nazwa'][$i]\"\n";
  24. $tresc .="Content-Transfer-Encoding: base64\n\n";
  25. $f = fopen($zalacznik['nazwa'][$i],"r");
  26. $dane = fread($f,filesize($zalacznik['nazwa'][$i]));
  27. fclose($f);
  28. $tresc .= chunk_split(base64_encode($dane));
  29. }
  30. $tresc .="--___$znacznik==--\n";
  31. mail($adres,$tytul,$tresc, $naglowek);
  32. ?>


Typ załącznika to tym MIME. Możesz sobie trochę tu poszukać: wiki - Typ_MIME
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.