Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php mail załącznik
Forum PHP.pl > Forum > PHP
r4t
Witam,

Problem jest następujący. Stworzyłem formularz, PHP bierze z niego dane i wysyła na maila. I tu jest ok. PHP podpięte do formularza również zapisuje pliki na dysku serwera w postaci CSV. Tu również ok. Jednak jak zmusić PHP żeby w mailu wysłany został również plik, zapisany wcześniej na serwerze? Plik ma nazwę jednej ze zmiennych z formularza, więc łatwo o jego nazwę. Ale wie ktoś jak w miarę prosto załączyć to do maila?

Pozdrawiam


  1. <?php
  2.  
  3. $odpowiedz = trim($_POST['odpowiedz']);
  4. $name = trim($_POST['name']);
  5. $nazwisko = trim($_POST['nazwisko']);
  6. $nr_karty = trim($_POST['nr_karty']);
  7. $ulica = trim($_POST['ulica']);
  8. $nr = trim($_POST['nr']);
  9. $miasto = trim($_POST['miasto']);
  10. $kod_pocztowy = trim($_POST['kod_pocztowy']);
  11. $telefon = trim($_POST['telefon']);
  12. $email = trim($_POST['email']);
  13. $akcept = trim($_POST['akcept']);
  14.  
  15. $rec_email = "..............."; // do kogo email
  16. $subject = ".............."; // temat emaila
  17.  
  18. //--------------------------------------------------------------------------------
  19. //sprawdzam puste pola
  20. if(
  21. empty($name)
  22. or
  23. empty($nazwisko)
  24. or
  25. empty($ulica)
  26. or
  27. empty($miasto)
  28. or
  29. empty($kod_pocztowy)
  30. or
  31. empty($nr)
  32. or
  33. empty($odpowiedz)
  34. or
  35. empty($nr_karty)
  36. or
  37. empty($telefon)
  38. or
  39. empty($akcept)
  40. )
  41. {
  42.  
  43. // wiadomość o niepowodzeniu
  44. <html>
  45. <head><title>..........</title></head>
  46. <body>
  47. <font style='font-family: verdana, arial; font-size: 9pt;'>
  48. <b>Proszę wypełnić wszystkie wymagane pola formularza.</b></font><br>
  49. <font style='font-family: verdana, arial; font-size: 8pt;'>Spróbuj ponownie <a href='java script:history.go(-1)'>klikając tutaj.</a></font>
  50. </body></html>
  51. ";
  52. }
  53. else{
  54.  
  55. //----------------------------------------------tekst potwierdzenia------------------------
  56.  
  57. $akcept1 = "TAK";
  58.  
  59. //----------------------------------------------zapisuje plik csv do tmp-------------------
  60.  
  61. // wczytuje dane z formularza
  62. $dane = $name.
  63. " ; "
  64. .$nazwisko.
  65. " ; "
  66. .$nr_karty.
  67. " ; "
  68. .$odpowiedz.
  69. " ; "
  70. .$ulica.
  71. " ; "
  72. .$nr.
  73. " ; "
  74. .$miasto.
  75. " ; "
  76. .$kod_pocztowy.
  77. " ; "
  78. .$telefon.
  79. " ; "
  80. .$email.
  81.  
  82. "\n";
  83.  
  84.  
  85.  
  86. // zapisanie pliku
  87. $file = "TMP/$nr_karty.csv";
  88. $fp = fopen($file, "a");
  89. flock($fp, 2);
  90. fwrite($fp, $dane);
  91. flock($fp, 3);
  92. fclose($fp);
  93.  
  94.  
  95. //------------------------------------------------------------------------------
  96.  
  97.  
  98. //zbieranie i wyswietlanie danych
  99.  
  100.  
  101. $headers = "FROM: ..........\r\n";
  102. $headers .= 'Content-Type: text/plain; charset=UTF-8'."\r\n";
  103.  
  104.  
  105.  
  106. $msg_body = "Imię: $name\n";
  107. $msg_body .= "-----------------------------------------\n";
  108. $msg_body .= "Nazwisko: $nazwisko\n";
  109. $msg_body .= "-----------------------------------------\n";
  110. $msg_body .= "Nr karty: $nr_karty\n";
  111. $msg_body .= "-----------------------------------------\n";
  112. $msg_body .= "Odpowiedź: $odpowiedz\n";
  113. $msg_body .= "-----------------------------------------\n";
  114. $msg_body .= "\n\n";
  115. $msg_body .= "Ulica: $ulica\n";
  116. $msg_body .= "-----------------------------------------\n";
  117. $msg_body .= "Numer domu: $nr\n";
  118. $msg_body .= "-----------------------------------------\n";
  119. $msg_body .= "Miasto: $miasto\n";
  120. $msg_body .= "-----------------------------------------\n";
  121. $msg_body .= "Kod pocztowy: $kod_pocztowy\n";
  122. $msg_body .= "-----------------------------------------\n";
  123. $msg_body .= "\n\n";
  124. $msg_body .= "Telefon: $telefon\n";
  125. $msg_body .= "-----------------------------------------\n";
  126. $msg_body .= "E-mail: $email\n";
  127. $msg_body .= "-----------------------------------------\n";
  128. $msg_body .= "Akceptuję regulamin: $akcept1\n";
  129. $msg_body .= "-----------------------------------------\n";
  130. $msg_body .= "\n\n";
  131.  
  132. mail($rec_email, $subject, $msg_body, $headers);
  133.  
  134. <html>
  135. <head><title>..............</title></head>
  136. <body>
  137. <font style='font-family: verdana, arial; font-size: 9pt;'>
  138. <b>Twoja odpowiedź została wysłana</b></font><br>
  139. <font style='font-family: verdana, arial; font-size: 8pt;'>Powróć do strony <a href='java script:history.go(-1)'>klikając tutaj.</a></font>
  140. </body></html>
  141. ";
  142.  
  143. }
  144. ?>
  145.  
thek
Google. Słowa kluczowe: mail attachment
r4t
Tak wiem, znalazłem masę różności w temacie wysyłania plików wskazanych przez formularz. Niestety nie mam tak dużej wiedzy o PHP żeby przerobić to na wysyłanie pliku znajdującego się na serwerze. sad.gif A już zupełnie nie rozumiem tego co tam się dzieje.... sad.gif
piotr94
a znalazłeś phpMailer??
tam wszystkie operacje są banalnie proste...
wystarczy przeszukać przykłady dołączone do aczki z najdziesz to czego szukasz...
r4t
Tak znalazłem. Administrator serwera nie chce tego widzieć w skrypcie, a klientowi niestety w tym przypadku nie mogę się postawić.
yevaud
Zend_Mail
Crozin
1. Swift Mailer
2. Zend_Mail

Albo ręczne złożenie maila - jakieś trudne to to nie jest. Przykład maila z załącznikiem:
Kod
STANDARDOWE NAGŁÓWKI

MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="------------090305050707050708080007"

This is a multi-part message in MIME format.
--------------090305050707050708080007
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

  Treść maila


--------------090305050707050708080007
Content-Type: image/jpeg;
name="plik.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="plik.jpg"

/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAUDBAQEAwUE

TUTAJ WYCIĄŁEM ŹRÓDŁO PLIKU

p38T7J8Zs/7g8Qv/2Q==
--------------090305050707050708080007--
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.