Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][html]Wysyłanie emaili ze stronki - czemu nie działa
Oscar_83
post 25.09.2007, 04:26:08
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Witam
Mam problem z wysyłaniem emaili ze stronki. Niby wszystko pokazuje że jest oki ale emaile nie dochodzą na pocztę, czy ktoś wie w czym tkwi problem??
Na początku miałem stronkę na darmowej domenie więc myślałem że to przez to, teraz jednak na płatnej też nie dochodzi:/

oto kod:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  5. <title>...</title>
  6. <link rel="stylesheet" type="text/css" href="style.css" />
  7. </head>
  8.  
  9. <body>
  10. <font face="Trebuchet MS">
  11. <p><b>KONTAKT:</b></p><br>
  12.  
  13. <p>...</p>
  14. <p>J. Branicki, J. Chrapkowski, J. Prywiński, Sp. J.</p>
  15. <p>Ul. Chodkiewicza 15</p>
  16. <p>85-065 Bydgoszcz</p>
  17. <p>tel: +48 52 325 12 86, fax: +48 52 325 12 85,</p>
  18. <p><a href="mailto:zukos220@interia.pl" >e-mail: zukos220@interia.pl</a></p>
  19. </font>
  20. <br><br><br><br><br>
  21. <?php
  22.  
  23. $imie = $_POST['imie'];
  24. $email = $_POST['email'];
  25. $tresc = $_POST['tresc'];
  26. $zapytanie = $_POST['tresc'];
  27.  
  28.  if ($imie && $email && $tresc && $zapytanie) {
  29. $text = "
  30.  Imie: $imie
  31.  
  32.  E-Mail: $email
  33.  
  34.  Tresc: $tresc
  35.  
  36.  ---------------
  37.  Wysłano: ".date("d.m.Y - H:i:s")."";
  38.  
  39. $headers = "Content-type: text/plain; charset=windows-1250";
  40.  
  41.  @mail("$zapytanie","E-Mail ze strony ...",$text,$headers);
  42.  ?> <font color="green"><?php
  43.  echo 'E-Mail wysłano poprawnie!';?></font><?php
  44. } elseif((empty($imie) or empty($email) or empty($zapytanie) or empty($tresc)) and (isset($imie) or isset($email) or isset($zapytanie) or isset($tresc))) {
  45.  ?> <font color="green"><br><?php echo 'Wypełnij wszystkie pola formularza!';
  46. ?></font><?php
  47. }
  48.  
  49. ?>
  50.  
  51. <form method="post">
  52. <table border="1" width="90%" cellspacing="1" cellapdding="3" align="center">
  53.  <tr>
  54.  <td bgcolor="#CCE6FF" colspan="2" align="center">Formularz kontaktowy<br>&nbsp</td>
  55.  </tr>
  56.  <tr>
  57.  <td bgcolor="#CCE6FF" width="35%" align="right">Rodzaj &nbsp<br> zapytania: &nbsp</td>
  58.  <td bgcolor="#CCE6FF" width="55%">
  59.  <select name="zapytanie" class="select">
  60.  <option value="zukos220@interia.pl" style="background-color: #CCE6FF">dział sprzedaży</option>
  61.  <option value="zukos220@interia.pl" style="background-color: #CCE6FF">sekretariat</option>
  62. </select> <br />
  63.  </td>
  64.  </tr>
  65.  <tr>
  66.  <td bgcolor="#CCE6FF" align="right">Imię i nazwisko: &nbsp</td>
  67.  <td bgcolor="#CCE6FF">
  68.  <input type="text" style="background-color: #8FA0B0" name="imie">
  69.  </td>
  70.  </tr>
  71.  <tr>
  72.  <td bgcolor="#CCE6FF" align="right">e-mail: &nbsp</td>
  73.  <td bgcolor="#CCE6FF">
  74.  <input type="text" style="background-color: #8FA0B0" name="email">
  75.  </td>
  76.  </tr>
  77.  <tr>
  78.  <td bgcolor="#CCE6FF" align="right">Treść &nbsp<br> wiadomości: &nbsp</td>
  79.  <td bgcolor="#CCE6FF">
  80.  <textarea style="background-color: #8FA0B0" name="tresc" cols="40%" rows="5"></textarea>
  81.  </td>
  82.  </tr>
  83.  <tr>
  84. <td bgcolor="#CCE6FF" colspan="2" align="center">
  85. <input type="submit" name="SUBMIT" value="Wyślij">
  86. </td>
  87. </tr>
  88. </table>
  89. </form>
  90.  
  91. </body>
  92.  
  93. </html>


po wypełnieniu wszystkich pól i kliknięciu na "wyślij" stronka dosyć długo się przeładowuje po czym wyświetla komunikat "E-Mail wysłano poprawnie!" lecz wcale ten email nie dochodzi :/
Czy ktoś wie czemu tak jest
Proszę o pomoc.

Ten post edytował Oscar_83 26.09.2007, 11:53:40
Go to the top of the page
+Quote Post
porady-it.pl
post 25.09.2007, 07:01:59
Post #2





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

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


Po pierwsze text z informacją o wysłaniu e-maila nic nie znaczy bowiem nie sprawdzasz jaką wartość zwraca funkcja mail, powinno być tak:

  1. <?php
  2. if(@mail(...)) 
  3. echo 'E-mail został wysłany';
  4. else
  5. echo 'ERROR: E-mail nie został wysłany.';
  6. ?>

Druga sprawa że pomyliłeś pierwszy parametr funkcji bowiem powinno być tam $email więc poprawnie byłoby:

  1. <?php
  2. if(@mail($email, "E-Mail ze strony [zmoderowane-na-prosbe]", $text, $headers)) 
  3. echo 'E-mail został wysłany';
  4. else
  5. echo 'ERROR: E-mail nie został wysłany.';
  6. ?>
Powód edycji: adres e-mail i nazwa firmy zmoderowana na prośbe właściciela (cysiaczek)


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post
quality
post 25.09.2007, 08:13:44
Post #3





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Zastanów się nad tą linią :
  1. <?php
  2. @mail("$zapytanie","E-Mail ze strony [zmoderowane-na-prosbe]",$text,$headers);
  3. ?>

Tutaj masz prawidłową składnię z php.net:
  1. <?php
  2. mail("nobody@example.com", "temat", $wiadomosc,
  3.  "From: webmaster@$SERVER_NAMEr\n"
  4. ."Reply-To: webmaster@$SERVER_NAMEr\n"
  5. ."X-Mailer: PHP/" . phpversion());
  6. ?>



Na pierwszym miejscu powinien być adres e-mail a ty masz zapytania i to w dodatku w cudzysłowiach smile.gif
Powód edycji: zmoderowałem adresy e-mail a prośbe właściciela (cysiaczek)


--------------------
Go to the top of the page
+Quote Post
Oscar_83
post 25.09.2007, 17:54:07
Post #4





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


zamieniłem kod na taki co mi podał porady-it.pl i teraz jak tylko wejdę na tą stronę to odrazu pisze: "ERROR email nie został wysłany", a jak powpisuje dane i klikne wyślij to jest napisane że wysłano poprawie, lecz emaile dalej nie dochodzą, w czym jeszcze tkwi błąd? i jak w ten kod mógłbym dodać jeszcze kod sprawdzający czy wszystkie pola są wypełnione? (kombionowałem ale cały czas błędy unexpected wyskakiwały).
chciałbym aby ten adres emailowy wybierany był za pomocą option value.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  5. <title>...</title>
  6. <link rel="stylesheet" type="text/css" href="style.css" />
  7. </head>
  8.  
  9. <body>
  10. <font face="Trebuchet MS">
  11. <p><b>KONTAKT:</b></p><br>
  12.  
  13. <p>...</p>
  14. <p>J. Branicki, J. Chrapkowski, J. Prywiński, Sp. J.</p>
  15. <p>Ul. Chodkiewicza 15</p>
  16. <p>85-065 Bydgoszcz</p>
  17. <p>tel: +48 52 325 12 86, fax: +48 52 325 12 85,</p>
  18. <p><a href="mailto:zukos220@interia.pl" >e-mail: zukos220@interia.pl</a></p>
  19. </font>
  20. <br><br><br><br><br>
  21. <?php
  22.  
  23. $imie = $_POST['imie'];
  24. $email = $_POST['email'];
  25. $tresc = $_POST['tresc'];
  26. $zapytanie = $_POST['tresc'];
  27.  
  28.  if ($imie && $email && $tresc && $zapytanie) {
  29. $text = "
  30.  Imie: $imie
  31.  
  32.  E-Mail: $email
  33.  
  34.  Tresc: $tresc
  35.  
  36.  ---------------
  37.  Wysłano: ".date("d.m.Y - H:i:s")."";
  38.  
  39. $headers = "Content-type: text/plain; charset=windows-1250";
  40.  
  41.  if(@mail($email, "E-Mail ze strony ...", $text, $headers))
  42.  ?> <font color="green"><?php
  43.  echo 'E-mail został wysłany';}
  44.  else
  45. echo 'ERROR: E-mail nie został wysłany.';?></font><?php
  46.  
  47.  
  48. ?>
  49.  
  50. <form method="post">
  51. <table border="1" width="90%" cellspacing="1" cellapdding="3" align="center">
  52.  <tr>
  53.  <td bgcolor="#CCE6FF" colspan="2" align="center">Formularz kontaktowy<br>&nbsp</td>
  54.  </tr>
  55.  <tr>
  56.  <td bgcolor="#CCE6FF" width="35%" align="right">Rodzaj &nbsp<br> zapytania: &nbsp</td>
  57.  <td bgcolor="#CCE6FF" width="55%">
  58.  <select name="zapytanie" class="select">
  59.  <option value="zukos220@interia.pl" style="background-color: #CCE6FF">dział sprzedaży</option>
  60.  <option value="zukos220@interia.pl" style="background-color: #CCE6FF">sekretariat</option>
  61. </select> <br />
  62.  </td>
  63.  </tr>
  64.  <tr>
  65.  <td bgcolor="#CCE6FF" align="right">Imię i nazwisko: &nbsp</td>
  66.  <td bgcolor="#CCE6FF">
  67.  <input type="text" style="background-color: #8FA0B0" name="imie">
  68.  </td>
  69.  </tr>
  70.  <tr>
  71.  <td bgcolor="#CCE6FF" align="right">e-mail: &nbsp</td>
  72.  <td bgcolor="#CCE6FF">
  73.  <input type="text" style="background-color: #8FA0B0" name="email">
  74.  </td>
  75.  </tr>
  76.  <tr>
  77.  <td bgcolor="#CCE6FF" align="right">Treść &nbsp<br> wiadomości: &nbsp</td>
  78.  <td bgcolor="#CCE6FF">
  79.  <textarea style="background-color: #8FA0B0" name="tresc" cols="40%" rows="5"></textarea>
  80.  </td>
  81.  </tr>
  82.  <tr>
  83. <td bgcolor="#CCE6FF" colspan="2" align="center">
  84. <input type="submit" name="SUBMIT" value="Wyślij">
  85. </td>
  86. </tr>
  87. </table>
  88. </form>
  89.  
  90. </body>
  91.  
  92. </html>


Ten post edytował Oscar_83 26.09.2007, 11:54:15
Go to the top of the page
+Quote Post
PawelC
post 25.09.2007, 22:00:48
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


zobacz czy niema ich w folderze spam ponieważ ja też tak kiedyś miałem że wysłało poprawnie i czekałem w nieskończoność a wiadomość znalazłem w folderze spam. Skoro wszystko działa i wyświetla to błąd raczej jest gdzie indziej niż w kodzie.
Go to the top of the page
+Quote Post
porady-it.pl
post 26.09.2007, 07:21:27
Post #6





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

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


Kod podany był prawidłowy jednak zapomniałeś pozamykać instrukcje warunkowe. Poniżej zamieszczam poprawny kod. Zauważyłem jeszcze jeden błąd w kodzie mianowicie e-mail był wysyłany na adres osoby wysyłającej e-mail zmieniłem to wpisując adres [zmoderowane-na-prosbe] oczywiście adres ten możesz zmienić na dowolny inny. Zastanawia mnie także czemu przepisujesz wartości zmiennych z tablicy POST do nowych zmiennych questionmark.gif

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  5. <title>[zmoderowane-na-prosbe]</title>
  6. <link rel="stylesheet" type="text/css" href="style.css" />
  7. </head>
  8.  
  9. <body>
  10.  
  11. <font face="Trebuchet MS">
  12. <p><b>KONTAKT:</b></p><br>
  13.  
  14. <p>[zmoderowane-na-prosbe]</p>
  15. <p>J. Branicki, J. Chrapkowski, J. Prywiński, Sp. J.</p>
  16. <p>Ul. Chodkiewicza 15</p>
  17. <p>85-065 Bydgoszcz</p>
  18. <p>tel: +48 52 325 12 86, fax: +48 52 325 12 85,</p>
  19. <p><a href="mailto:[zmoderowane-na-prosbe]" >e-mail: [zmoderowane-na-prosbe]</a></p>
  20. </font>
  21. <br><br><br><br><br>
  22.  
  23. <?php
  24.  
  25. $imie = $_POST['imie'];
  26. $email = $_POST['email'];
  27. $tresc = $_POST['tresc'];
  28. $zapytanie = $_POST['tresc'];
  29.  
  30. if($imie && $email && $tresc && $zapytanie) {
  31. $text = "
  32.  Imie: $imie
  33.  
  34.  E-Mail: $email
  35.  
  36.  Tresc: $tresc
  37.  
  38.  ---------------
  39.  Wysłano: ".date("d.m.Y - H:i:s")."";
  40.  
  41. $headers = "Content-type: text/plain; charset=windows-1250";
  42.  
  43. if(@mail('[zmoderowane-na-prosbe]', "E-Mail ze strony [zmoderowane-na-prosbe], $text, $headers)) 
  44. echo '<font color="green">E-mail został wysłany</font>';
  45. else
  46. echo 'ERROR: E-mail nie został wysłany.';
  47.  
  48. } elseif((empty($imie) or empty($email) or empty($zapytanie) or empty($tresc)) and (isset($imie) or isset($email) or isset($zapytanie) or isset($tresc))) {
  49.  ?> <font color="green"><br><?php echo 'Wypełnij wszystkie pola formularza!';
  50. ?></font><?php
  51. }
  52.  
  53. ?>
  54.  
  55. <form method="post">
  56. <table border="1" width="90%" cellspacing="1" cellapdding="3" align="center">
  57.  <tr>
  58.  <td bgcolor="#CCE6FF" colspan="2" align="center">Formularz kontaktowy<br> </td>
  59.  </tr>
  60.  <tr>
  61.  <td bgcolor="#CCE6FF" width="35%" align="right">Rodzaj <br> zapytania: </td>
  62.  <td bgcolor="#CCE6FF" width="55%">
  63.  <select name="zapytanie" class="select">
  64.  <option value="[zmoderowane-na-prosbe]" style="background-color: #CCE6FF">dział sprzedaży</option>
  65.  <option value="[zmoderowane-na-prosbe]" style="background-color: #CCE6FF">sekretariat</option>
  66. </select> <br />
  67.  </td>
  68.  </tr>
  69.  <tr>
  70.  <td bgcolor="#CCE6FF" align="right">Imię i nazwisko: </td>
  71.  <td bgcolor="#CCE6FF">
  72.  <input type="text" style="background-color: #8FA0B0" name="imie">
  73.  </td>
  74.  </tr>
  75.  <tr>
  76.  <td bgcolor="#CCE6FF" align="right">e-mail: </td>
  77.  <td bgcolor="#CCE6FF">
  78.  <input type="text" style="background-color: #8FA0B0" name="email">
  79.  </td>
  80.  </tr>
  81.  <tr>
  82.  <td bgcolor="#CCE6FF" align="right">Treść <br> wiadomości: </td>
  83.  <td bgcolor="#CCE6FF">
  84.  <textarea style="background-color: #8FA0B0" name="tresc" cols="40%" rows="5"></textarea>
  85.  </td>
  86.  </tr>
  87.  <tr>
  88. <td bgcolor="#CCE6FF" colspan="2" align="center">
  89. <input type="submit" name="SUBMIT" value="Wyślij">
  90. </td>
  91. </tr>
  92. </table>
  93. </form>
  94.  
  95. </body>
  96. </html>
Powód edycji: zmoderowałem adresy e-mail a prośbe właściciela (cysiaczek)


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post
Oscar_83
post 26.09.2007, 10:58:56
Post #7





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Zmieniłem kod na ten poprawiony przez Was, wysłałem emaila ok 15 minuit temu i jak narazie nic nie ma (nic nie doszło).

Ten post edytował Oscar_83 26.09.2007, 11:54:36
Go to the top of the page
+Quote Post
porady-it.pl
post 26.09.2007, 11:07:08
Post #8





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

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


Witam,

To już nie wina skryptów właśnie przetestowałem skrypt na serwerach kei.pl i działa bez zarzutów smile.gif


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post
Oscar_83
post 26.09.2007, 11:27:54
Post #9





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


W takim razie to jest wina serwera?? hmm serwer i domena są płatne, więc powinno być wszystko oki.

Faktycznie, sprawdziłem na innym serwerze i też jest wszystko wporządku, e-maile dochodzą, a strona po kliknięciu na wyślij przeładowuje się bardzo szybko a na tym płatnym trwa to dosyć długo i nic nie dochodzi :/. Hmm w takim razie co mam zrobić żeby na tamtym serwerze działało (na tym płatnym)? skontaktować się z nimi? co powiedzieć?

Ten post edytował Oscar_83 26.09.2007, 11:37:28
Go to the top of the page
+Quote Post
porady-it.pl
post 26.09.2007, 12:15:12
Post #10





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

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


Skontaktuj się z nimi i opisz dokładnie problem. Przede wszystkim poinformuj ich że wysyłając e-maile przez funkcję mail e-maile nie trafiają do adresata. W razie próby zwalenia winy na skrypty mów że testowałeś to na innych serwerach i że działa ok.


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post
Oscar_83
post 26.09.2007, 12:28:13
Post #11





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Wielkie dzięki wszystkim za pomoc i porady
Pozdrawiam
PS: (czekam na odpowiedź gościa od serwerów, zobaczymy co powie)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:38