Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysyłanie maila
Forum PHP.pl > Forum > PHP
felixk
Witam, w sumie ten skrypt był tu mordowany kilka razy. Grunt, że działa, ale nie do końca. Teraz został zintegrowany razem z formularzem kontaktowym, którego głównym zadaniem jest wysyłanie maili. Maile owszem wysyłają się, ale bez załączników bądź linków do tychże załączników. Ja mam to rozwiązane przez link, ale tak czy siak link w treści maila pokazać się nie chce. Z góry dziękuje za pomoc. Poniżej pełny kod skryptu. Z góry dziękuję za pomoc

  1.  
  2. $site_name = $_SERVER['HTTP_HOST'];
  3. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  4. $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  5.  
  6. $upload_dir = "upload_files/";
  7. $upload_url = $url_dir."/upload_files/";
  8. $message ="";
  9. $allow = array("jpg", "jpeg", "gif", "png", "bmp");
  10.  
  11. //create upload_files directory if not exist
  12. //If it does not work, create on your own and change permission.
  13. if (!is_dir("upload_files")) {
  14. die ("Folder nie istnieje");
  15. }
  16.  
  17. if ($_FILES['userfile']) {
  18. $message = do_upload($upload_dir, $upload_url);
  19. }
  20.  
  21. print $message;
  22.  
  23.  
  24.  
  25. function do_upload($upload_dir, $upload_url) {
  26. global $allow;
  27. global $upload_url;
  28. global $upload_dir;
  29.  
  30. $temp_name = $_FILES['userfile']['tmp_name'];
  31. $file_name = $_FILES['userfile']['name'];
  32.  
  33. $rozszerzenie_pliku = substr( $file_name, strrpos( $file_name, '.' ) +1 );
  34.  
  35. $file_name = strtolower($file_name);
  36. $file_name = str_replace("ż","z",$file_name);
  37. $file_name = str_replace("ą","a",$file_name);
  38. $file_name = str_replace("Ľ","z",$file_name);
  39. $file_name = str_replace("ę","e",$file_name);
  40. $file_name = str_replace("ł","l",$file_name);
  41. $file_name = str_replace("Ł","l",$file_name);
  42. $file_name = str_replace("ś","s",$file_name);
  43. $file_name = str_replace("ń","n",$file_name);
  44. $file_name = str_replace("ć","c",$file_name);
  45. $file_name = str_replace("ó","o",$file_name);
  46. $file_name = str_replace(" ", "_",$file_name);
  47.  
  48. $file_type = $_FILES['userfile']['type'];
  49. $file_size = $_FILES['userfile']['size'];
  50. $result = $_FILES['userfile']['error'];
  51. $file_url = $upload_url.$file_name;
  52. $file_path = $upload_dir.$file_name;
  53.  
  54. //File Name Check
  55. if ( $file_name =="") {
  56. echo "<script language=\"javascript\">alert('Brak nazwy pliku.')</script>";
  57. }
  58.  
  59. // File Size check
  60. $max = 3145728;
  61. $file_size = $_FILES['userfile']['size'];
  62. if ($file_size > $max)
  63. {
  64. echo "Plik za duży";
  65. }
  66.  
  67. //File Type Check
  68. if (in_array($rozszerzenie_pliku, $allow))
  69. {
  70. $result = move_uploaded_file($temp_name, $file_path);
  71. echo "<a href=$file_url>$file_url</a>";
  72. }
  73. else
  74. {
  75. echo "<script language=\"javascript\">alert('Dozwolone tylko pliki graficzne')</script>";
  76. }
  77.  
  78. }
  79.  
  80. $site_names = "";
  81. $site_email = "";
  82. $data = gmdate("d-m-Y");
  83. $czas = gmdate("H:i");
  84.  
  85. function poprawny_email ( $var )
  86. {
  87. return preg_match ( '/^[_\.0-9a-z-]+@([_0-9a-z-]+\.)+[a-z]{2,4}$/', $var );
  88. }
  89.  
  90. $error = '<div class="error">';
  91. if ( empty ( $imie ) ) $error .= 'Pole z imieniem nie zostało wypełnione.<br />';
  92. if ( empty ( $email ) ) $error .= 'Pole z adresem email nie zostało wypełnione.<br />';
  93. if ( empty ($temat ) ) $error .= 'Pole z tematem nie zostało wypełnione.<br />';
  94. if ( empty ( $opinia ) ) $error .= 'Pole z treścią wiadomości nie zostało wypełnione.<br />';
  95. if ( !empty ( $email ) && !poprawny_email ( $email ) ) $error .= 'Adres email jest niepoprawny.<br />'; $error .= '<br><a href="java script:history.back()">wróć</a></div>';
  96. if ( poprawny_email ( $email ) && !empty ( $imie ) && !empty ( $temat ) && !empty ( $opinia ) )
  97. {
  98. echo '<CENTER>';
  99. PRINT "Witamy $imie";
  100. echo '<BR><BR> Dziękujemy za zainteresowanie naszą stroną<BR><BR> Twoja wiadomośc została wysłana do pracownika ośrodka. <BR> <a href=/index.php?strona=glowna>Powrót</a>';
  101. echo '</CENTER>';
  102. }
  103. else
  104. {
  105. echo "$error";
  106. }
  107.  
  108. mail("$email", "$site_names Dziękujemy za zainteresowanie",
  109. "Dziękujemy Ci $imie za przesłanie emaila do nas. Postaramy się odpowiedzieć na niego w możliwie najkrótszym czasie");
  110.  
  111. mail("$site_email",
  112. "$site_name Formularz kontaktowy",
  113. "Wiadomosc przesłana dnia $data o godzinie $czas
  114. Przez: $imie
  115. Email: $email
  116. Temat: $temat
  117. Tresc: $opinia
  118. Dodatkowe dokumenty: $file_url");
  119.  
  120.  
john_doe
na Twoim miejscu nie bawiłbym się w funkcję mail()
Użyj klasy phpMailer i będzie pięknie. Łatwo dodać attachment... itd.

pozdr
felixk
Cytat(john_doe @ 28.12.2009, 01:18:35 ) *
na Twoim miejscu nie bawiłbym się w funkcję mail()
Użyj klasy phpMailer i będzie pięknie. Łatwo dodać attachment... itd.

pozdr


Ja jednak wolę mail, bo jak patrzę w w PHPMailera to pojęcia nie mam co i jak tam. Prosiłbym jednak o pomoc w skrypcie powyżej.
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.