Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]mail z załącznikiem
dave666
post
Post #1





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


witam mam formularz wysyłania emaila z załączniekiem i zwykły email jak połaczyc te dwa skrypty mógłby mi kroś pomóc bo próbuje i próbuje i nic mi nie wychodzi temu zwracam się do was
  1. <?php
  2. //sprawdzenie czy załącznik pochodzi z formularza
  3. if ($_POST["wyslij"]==1)
  4. {
  5. srand((double)microtime()*1000000);
  6. $znacznik = md5(uniqid(rand()));
  7.  
  8. // dane o odbiorcy, nadawcy
  9. $odbiorca="email@email.pl";
  10. $tytul="tytuł wiadomosci";
  11. $nadawca = "Nadawca";
  12. $nadawca_mail="odkogo@email.pl";
  13.  
  14. // treść listu
  15. $tresclistu = "tutaj piszesz całą treść maila";
  16.  
  17. // definicja nagłówków
  18.  $naglowki  = "From: $nadawca <$nadawca_mail>\n";
  19.  $naglowki .= "MIME-Version: 1.0\n";
  20.  $naglowki .= "Content-Type: multipart/mixed;\n";
  21.  $naglowki .= "\tboundary=\"___$znacznik==\"";
  22.  
  23. // nagłówki listu
  24.  $tresc="--___$znacznik==\n";
  25.  $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  26.  $tresc .="Content-Transfer-Encoding: 8bit\n";
  27.  $tresc .="\n$tresclistu\n";
  28.  
  29. // nagłówki i obsługa załącznika
  30.  $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  31.  $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  32.  $plik_wielkosc = $_FILES["plik1"]["size"];
  33.  
  34. if (is_uploaded_file($plik_nazwa_tmp))
  35.  {
  36.    $tresc .="--___$znacznik==\n";
  37.    $tresc .="Content-Type: image/gif\n";
  38.    $tresc .="Content-Disposition: attachment;\n";
  39.    $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  40.    $tresc .="Content-Transfer-Encoding: base64\n\n";
  41.    $f = fopen($plik_nazwa_tmp,"rb");
  42.    $dane = fread($f,filesize($plik_nazwa_tmp));
  43.    fclose($f);
  44.    $tresc .= chunk_split(base64_encode($dane));
  45.    $tresc .="--___$znacznik==--\n";
  46.  }
  47.  
  48. // wysłanie listu
  49.     if (mail($odbiorca,$tytul,$tresc,$naglowki))
  50.   {
  51.   print "E-mail z załącznikiem został wysłany poprawnie.";
  52.   }
  53.   else
  54.   {
  55.   print "E-mail NIE został wysłany poprawnie.
  56.   <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  57.   }
  58. }
  59. ?>

zwykły email
  1. <?php
  2. if (empty($_POST['nick']) || empty($_POST['nazw']) || empty($_POST['ulica']) || empty($_POST['kod']) || empty($_POST['miasto']) || empty($_POST['telefon']) || empty($_POST['mail']) || empty($_POST['temat']) || empty($_POST['tresc']))
  3. {    
  4. echo "Nie uzupełniłeś wszystkich rubryk.";
  5. echo "<br>";
  6. echo "<a href='java script:history.go(-1)'>wróć</a>";
  7.  
  8. exit;  
  9. }
  10.  
  11. $wiadomosc =
  12. "Imie: ".$_POST['nick']."
  13. Nazwisko: ".$_POST['nazw']."
  14. Ulica: ".$_POST['ulica']."
  15. Kod pocztowy: ".$_POST['kod']."
  16. Miasto: ".$_POST['miasto']."
  17. Temat: ".$_POST['temat']."
  18. Telefon: ".$_POST['telefon']."
  19. E- mail: ".$_POST['mail']."
  20. Tresc: ".$_POST['tresc']."  ";
  21. $tematyka = "kontakt".$temat;
  22. mail ("email@email.pl", $tematyka, $wiadomosc );
  23. echo "Dziekujemy za wysłanie do nas maila,";
  24. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dave666
post
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


Spoko problem rozwiązałem zaraz napisze rozwiazanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

o to rozwiązanie zamiast funkcji (empty($_POST['nick']) po prostu zrobiłem tak i działa elegancko wysyła załacznik i treść wiecej pól sami sobie dopiszecie
plik wyslij.php
  1. <?php
  2. //sprawdzenie czy załącznik pochodzi z formularza
  3. if ($_POST["wyslij"]==1)
  4.    $nazwisko = $_POST["nazwisko"];
  5.  
  6. $imie = $_POST["imie"];
  7.  
  8. $email = $_POST["email"];
  9.  
  10. $tresc= $_POST["tresc"];
  11. {  
  12. srand((double)microtime()*1000000);
  13. $znacznik = md5(uniqid(rand()));
  14.  
  15. // dane o odbiorcy, nadawcy
  16. $odbiorca="email@email.pl";
  17. $tytul="tytuł wiadomoscil";
  18. $nadawca = "Nadawca";
  19. $nadawca_mail="email@email.pl";
  20.  
  21. // treść listu
  22. $tresclistu = "
  23. Nazwisko: $nazwisko
  24. Imię: $imie
  25. email: $email
  26. tresc: $tresc
  27.  
  28. ";
  29.  
  30.  
  31. // definicja nagłówków
  32.  $naglowki  = "From: $nadawca <$nadawca_mail>\n";
  33.  $naglowki .= "MIME-Version: 1.0\n";
  34.  $naglowki .= "Content-Type: multipart/mixed;\n";
  35.  $naglowki .= "\tboundary=\"___$znacznik==\"";
  36.  
  37. // nagłówki listu
  38.  $tresc="--___$znacznik==\n";
  39.  $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  40.  $tresc .="Content-Transfer-Encoding: 8bit\n";
  41.  $tresc .="\n$tresclistu\n";
  42.  
  43. // nagłówki i obsługa załącznika
  44.  $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  45.  $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  46.  $plik_wielkosc = $_FILES["plik1"]["size"];
  47.  
  48. if (is_uploaded_file($plik_nazwa_tmp))
  49.  {
  50.    $tresc .="--___$znacznik==\n";
  51.    $tresc .="Content-Type: image/gif\n";
  52.    $tresc .="Content-Disposition: attachment;\n";
  53.    $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  54.    $tresc .="Content-Transfer-Encoding: base64\n\n";
  55.    $f = fopen($plik_nazwa_tmp,"rb");
  56.    $dane = fread($f,filesize($plik_nazwa_tmp));
  57.    fclose($f);
  58.    $tresc .= chunk_split(base64_encode($dane));
  59.    $tresc .="--___$znacznik==--\n";
  60.  }
  61.  
  62. // wysłanie listu
  63.     if (mail($odbiorca,$tytul,$tresc,$naglowki))
  64.   {
  65.   print "E-mail z załącznikiem został wysłany poprawnie.";
  66.   }
  67.   else
  68.   {
  69.   print "E-mail NIE został wysłany poprawnie.
  70.   <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  71.   }
  72. }
  73. ?>


formularz html np: kontakt.html
  1. <FORM NAME="zalacznik" METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
  2. Imię: <input type="text" id="nick" name="imie" ><br>
  3. Nazwisko: <input type="text" name="nazwisko" id="nazw"><br>
  4. Email:<input type="text" name="email" id="email" ><br>
  5. Tresc:<textarea name="tresc" id="tresc" rows="3" cols="20" ></textarea><br>
  6. <input type="hidden" name="wyslij" value="1" />
  7. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  8. Załącznik <INPUT type="file" name="plik1"><br><br>
  9. <INPUT TYPE="SUBMIT" VALUE="Wyślij zalacznik">
  10. </FORM>


Ten post edytował dave666 3.01.2009, 23:45:53
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 17:05