Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mail() pomocy, dlaczego nie działą?
Forum PHP.pl > Forum > PHP
konfeusz
Witam, mam taki skrypcik...

  1. <?php
  2. $firma = $_POST['firmaTXT'];
  3. $nazwisko = $_POST['nazwiskoTXT'];
  4. $mail = $_POST['mailTXT'];
  5. $adres = $_POST['adres'];
  6. $wiadomosc = $_POST['wiadomosc'];
  7. $papier = $_POST['papierTXT'];
  8. $rozmiar = $_POST['rozmiarTXT'];
  9. $gramatura = $_POST['gramaturaTXT'];
  10. $stron = $_POST['stronTXT'];
  11. $naklad = $_POST['nakladTXT'];
  12. $cena = $_POST['cenaKoncowa'];
  13. $dwustronnyTXT = $_POST['dwustronnyTXT'];
  14. $bindTXT = $_POST['bindTXT'];
  15. $bigoTXT = $_POST['bindTXT'];
  16. $foliTXT = $_POST['foliTXT'];
  17.  
  18. $temat = "Zamówienie ze strony xxx";
  19.  
  20. $do = 'xxx@xxx.pl'.', '; // note the comma
  21. $do .= $mail;
  22.  
  23. $wiadomosc_mail = '<html>'.
  24. '<head>
  25. <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-2\">'.
  26. '</head>'.
  27. '<body>'.
  28. '<font color=red>Firma: '.$firma.'</font><br>'.
  29. '<p>tresc</p>'.
  30. '</body>'.
  31. '</html>';
  32.  
  33. $naglowki = "MIME-Version: 1.0\r\n";
  34. $naglowki .= "Content-type: text/html; charset=UTF-8\r\n";
  35. $naglowki .= "From: formularz zamowienia";
  36. mail($do, $temat, $wiadomosc_mail, $naglowki);
  37. echo '&content=Wiadomość została wysłana, na podany przez Państwa adres e-mail, zostanie wysłane potwierdzenie zamówienia.';
  38. ?>


... i nie wiem dlaczego, ale nie chce wysylać mi na drugiego maila zawartego w zmiennej $mail. Moze ktos spojzy na to swierzym okiem i wytknie mi blad. Z gory dziekuje.
PS. A pro pose, moze ktos wie (wiem, ze nie z tej beczki) jakim edytorem najlepiej edytowac pliki html wygenerowane przez Flash CS4 zeby nie wywalalo polskich czcionek z animacji flash?
Blackhole
Przed wywołaniem mail() wyświetl zmienną $do. Co zawiera? Jest tam Twój mail?
konfeusz
tak, jest na stale wpisany moj mail, gdzie ma isc cala wiadomosc, ale chcialem zeby kopia tego samego maila szlo do klienta ktory wypelnial formularz

  1.  
  2. $mail = $_POST['mailTXT']; // przypisanie do zmiennej mail, maila z formularza jaki wypelnil klient
  3.  
  4. <...>
  5. $do = 'xxx@xxx.pl'.', '; // TU jest m oj mail
  6. $do .= $mail; // tu chcialem zeby doklejal maila jaki klient wpisal w formularzu
  7.  


Mam nadzieje, ze klarownie wskazalem o co mi chodzi.
I jeszcze zauwazylem cos co mnie zdziwilo... jesli przypisze do zmiennej $do zmienna $mail, albo co jeszcze bardziej mnie przerazilo, dopisalem $mail do funkcji mail()... czyli
  1. mail($mail, $temat, $wiadomosc_mail, $naglowki);

Maile rowniez nie dochodza. Dochodza tylko jesli na sztywno do $do przypisze adres czyli:
  1. $do = 'xxx@xxx.pl';


z dokumentacji wyczytalem jak przypisac drugi e-mail, wiec przerobilem troche deklaracje jaka tam jest podana:

$do = 'xxx@xxx.pl'.', '; // TU jest mail pierwszy
$do .= 'yyy@yyy.pl'; // tu drugi
renault12
A może dwa razy funkcja mail?
  1. <?
  2. $do1 = 'xxx@xxx.pl'.', '; // TU jest m oj mail
  3. $do2 = $mail;
  4. mail($do1, $temat, $wiadomosc_mail, $naglowki);
  5. mail($do2, $temat, $wiadomosc_mail, $naglowki);
  6. ?>
konfeusz
... smile.gif no pomysl dobry, ale cholera nie wiem juz zupełnie o co biega.

jesli dam na sztywno

  1. <?
  2. $do1 = 'xxx@xxx.pl'.', ';
  3.  
  4. $do2 = 'yyyyy@yyy.pl';
  5.  
  6. mail($do1, $temat, $wiadomosc_mail, $naglowki);
  7.  
  8. mail($do2, $temat, $wiadomosc_mail, $naglowki);
  9. ?>


dochodzi na obydwa, jednak kiedy dam
  1. $do1 = $mail;
  2. $do2 = 'yyyyy@yy.pl';

to wówczas dochodzi tylko na yyyyy@yy.pl

Dziwne bo $mail jest na bank przekazywana i wyswietla ja juz w tresci maila prawidłowo.
renault12
  1.  
  2. $mail = 'xxxxx@gmail.com';
  3. $mail2 = 'xxxx@gmail.com';
  4. $do = $mail2;
  5. mail($mail, $temat, $wiadomosc_mail,
  6. "From: \"Rejestracja\" <auto-reply@$host>\r\n" .
  7. "WWW.sdsadas.com - Mail" . phpversion());
  8. mail($do, $temat, $wiadomosc_mail,
  9. "From: \"Rejestracja\" <auto-reply@$host>\r\n" .
  10. "WWW.sdsadas.com - Mail");


Coś takiego mi działa bez problemu, spróbuj na swoim hostingu.
Pilsener
Co chwila problem z mail()....

1. Sprawdzaj, co zwraca funkcja mail i włącz obsługę błędów - nie można "wyechować" komunikatu nie sprawdziwszy, czy mail dotarł poprawnie.
2. Dziś funkcji mail() używa się w sytuacjach awaryjnych, masz pełno rozwiązań typu phpmailer.
renault12
Ja kiedyś miałem strone na dziwnym hostingu gdzie było można wysłać naprzykład 1 maila co 30 s czy jakos tak. Więc też po stronie administracji hostingu może być wina
konfeusz
Pilsener... nie wywala zadnbego bledu. Obsluga wlaczona, funkcja dziala prawidlowo... maile dochodza bez problemow jesli zmienna $do ma przypisany adres z gory, na sztywno. Problem pojawia sie jesli: (i teraz kroczek po kroczku)

1. w animacji flash klient wypełnia formularz, gdzie w jednym z pol podaje swojego maila...
2. kiedy na SWF'ie kliknie 'wyslij' flash przesyla wszystkie zmienne z formularza flash do pliku php metoda POST.
3. PHP (zródło podane na samym poczatku tematu) przepisuje sobie spokojnie wszystkie zmienne i wysyła na adresy podane w $do
4. w pliku PHP skrypt dołącza $mail z flasha do tresci wiadomosci i w efekcie koncowym w poczcie przychodzacej najzwyczajniej po ludzku, wyswietla poprawnie adres e-mail jaki byl przeslany w zmiennej, natomiast juz funkcja mail() i w niej zawarta zmienna $do (odpowiada za przechowywanie adresu e-mail z formularza flash w php) nie wysyla wiadomosci na ten adres ktor w tej cholernej zmiennej jest przechowany.... no juz bardziej dosadnie chyba nie moglem wymyslec wyjasnienia.

Przyznam sie, ze nie korzystalem z phpmailer'a, ale z gory zakladam, ze tam tez bedzie jakis problem jesli przypisze zmienna $mail (z flasha) do
$mail->AddAddress tak, zeby efekt koncowy listingu wygladal tak:

$mail->AddAddress("$do","$nazwisko");

piwo i pol zamku (łucznika) temu kto to rozwikla
Rewil
1. Jakie masz kodowanie?
2. Sprawdz czy ci do SPAMU nie wrzuca ;]
3. zamiast $mail daj $_POST['mailTXT'];
4. wyswietl na koncu skryptu $_POST['mailTXT'];

$bindTXT = $_POST['bindTXT'];
$bigoTXT = $_POST['bindTXT'];
Na pewno chcesz miec dwie zmienne do tego samego?
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.