Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]funkcja sendmail()
Forum PHP.pl > Forum > Przedszkole
sir_morgot
Witam wszystkich po raz pierwszy.
Na początku chcę poinformować, że nie jestem programistą. Czasami zrobie jakąś stronę ale raczej na zasadzie prób i błędów - jak coś się uda i się sprawdza to trzymaj się tego. Programowanie mi nie idzie więc...

Po nudnym wstępie przedstawię swój problem.
Oczywiście rozwiązania szukałem wcześniej w internecie ale są ogólniki z których nic logicznego wyciągnąć nie potrafię.
Zrobiłem stronę we flash'u, w której znajduje się formularz do wysyłania maili bezpośrednio ze strony.
Kiedyś zastosowałem w innej stronie (także flash) ten sam formularz i z wysyłaniem wiadomości problemów nie było. Strona była na serwerze kei.pl. Maile dochodziły bez problemu.

Po jakimś czasie przyszedł czas na nastepną prostą stronę we flash'u. Tym "Wiadomości nie wysłano - spróbuj ponownie".

Gdzieś wyczytałem, że może byc problem z funkcją mail() i trzeba będzie zastosować funkcję sendmail(). Napisałem do administracji Interii i w odpowiedzi dostałem taki komunikat:

"Witam,
Proszę skorzystać z funkcji sandmail. Ścieżka do sendmail:
/usr/bin/sendmail.
"
Wszystko fajnie ale gdzie to trzeba wpisać? próbowałem różnych opcji (może nawet i idiotycznych) ale nic pozytywnego się nie wydażyło.

Może ktoś w szanownych forumowiczów miał by jakiś pomysł?

No i najważniejsze - poniżej kod źródłowy z pliku flash oraz z pliku php.

Plik flash:

  1. stop();
  2. var mail_form:LoadVars = new LoadVars();
  3. var mail_odp:LoadVars = new LoadVars();
  4. var imie:String = "";
  5. var nazwisko:String = "";
  6. var mail:String = "";
  7. var wiadomosc:String = "";
  8. send_btn.onRelease = function() {
  9. if (imie == "" || nazwisko == "" || mail == "" || wiadomosc == "") {
  10. //stan = "ABY WYSŁAC FORMULARZ NALEŻY WYPEŁNIC WSZYSTKIE POLA";
  11. gotoAndStop(2);
  12. } else if (mail.indexOf("@") == -1 || mail.indexOf(".") == -1) {
  13. //stan = "E-MAIL JEST NIEPOPRAWNY";
  14. gotoAndStop(3);
  15. } else {
  16. mail_form.imie = imie;
  17. mail_form.nazwisko = nazwisko;
  18. mail_form.mail = mail;
  19. mail_form.wiadomosc = wiadomosc;
  20. mail_form.sendAndLoad("mail_form.php", mail_odp, "POST");
  21. mail_odp.onLoad = function(success:Boolean) {
  22. if (success) {
  23. gotoAndStop(4);
  24. //stan = "mail zostal wyslany";
  25. imie = "";
  26. nazwisko = "";
  27. mail = "";
  28. wiadomosc = "";
  29. } else {
  30. //stan = "WIADOMOSC NIE ZOSTAłA WYSLANA !!!";
  31. imie = "";
  32. nazwisko = "";
  33. mail = "";
  34. wiadomosc = "";
  35. gotoAndStop(5);
  36. }
  37. };
  38. }
  39. };







a tutaj kod z pliku mail_form.php:

  1. <?php
  2. $imie = $_POST['imie'];
  3. $nazwisko = $_POST['nazwisko'];
  4. $mail = $_POST['mail'];
  5. $wiadomosc = $_POST['wiadomosc'];
  6. $temat = substr($wiadomosc,0,15)."...";
  7.  
  8. $do = "Jan Kowalski<kowalski@interia.pl>";
  9.  
  10. $wiadomosc_mail = '<html>'.
  11. '<head>'.
  12. '<style type="text/css">'.
  13. '#imie {color:black;}'.
  14. '#wiadomosc {color:black;}'.
  15. '</style>'.
  16. '</head>'.
  17. '<body>'.
  18. '<p id="imie">Imie:'.$imie.
  19. '<p>Nazwisko:'.$nazwisko.
  20. '<p>E-mail:'.$mail.
  21. '<p id="wiadomosc">Wiadomosc: '.$wiadomosc.'</p>'.
  22. '</body>'.
  23. '</html>';
  24.  
  25. $naglowki = "MIME-Version: 1.0\r\n";
  26. $naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n";
  27. $naglowki .= "From: MAIL";
  28. mail($do, $temat, $wiadomosc_mail, $naglowki);
  29. ?>
  30.  



Gdzie w pliku mail_from.php wpisać funkcję /usr/bin/sendmail questionmark.gif

Z góry dziękuję wszystkim za pomoc
erix
Ściągnij phpMailer, przestaw isSendmail i będzie śmigać. Ręczne pisanie obsługi jest stratą czasu w tym przypadku.
jarrod
Flash - dokumentacja metody sendAndLoad

1. To nie jest problem php tylko flash więc pomyliłeś fora smile.gif
2. Pierwszym parametrem metody sendAndLoad jest pełny adres URL do skryptu php, który musi być w tej samej domenie co skrypt. Oznacza to, że musisz jako parametr podać pełny adres do skryptu. Inaczej flash go nie znajdzie.
sir_morgot
erix - ściągnąłem to ale nic z tego nie kumam.

jarrod - dodałem ścieżkę we flashu do skryptu php czyli:

  1. ...
  2.  
  3. mail_form.sendAndLoad("http://www.nazwadomeny.pl/mail_form.php", mail_odp, "POST");
  4.  
  5. ...
  6.  


ale w dalszym ciągu to samo.

Nic... będę myślał dalej - w końcu musi być jakieś rozwiązanie.

Pozdrawiam.
erix
Ale to NIE JEST DO FLASHA...

Masz przykładowe skrypty użycia, przejrzyj chociaż te pliki, co masz...
sir_morgot
Znalazłem to isSendmail ale nie wiem co mam przestawić i gdzie i jak to w ogóle połączyć z formularzem we flashu (to tak jak by ruski słuchał smolenia i się nie smiał:/) . Daruję sobie bo widzę że tylko ludzi denerwuję.
Wstawię zamiast formularza zwykły tekst (przycisk) z mailem i tyle.

Pozdrawiam
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.