FlooX Napisano 6 Lipiec 2007 Napisano 6 Lipiec 2007 Witam. Mam formularz napisany w php, ktory uzywa funkcji @mail zeby wysłać list na maila :) ALE Wrzucałem go na 3 serwery (bitmar.net , etap.pl , active24.pl) I działa tylko na bitmar.net na pozostałych wywala że nie udalo sie wysłać wiadomości. Wiecie może czy to jest spowodowane ? co mam zrobić ? tutaj kod formularza: //sprawdzamy czy formularz zostal wyslany if ($_POST['wyslany'] == "tak") { // sprawdzamy, czy zmienne przeslane z formularza nie sa puste if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['adresfirmy']) && !empty($_POST['nip']) && !empty($_POST['telefon']) && !empty($_POST['nazwafirmy'])) { // jezeli powyzszy warunek jest spelniony tworzona jest wiadomosc // zmienna $message zawiera tresc wiadomosci $message = "Treść wiadomości:\n$_POST[tresc]\n\n Wysłał: $_POST[imie]\n\n e-mail: $_POST[email]\n\n telefon: $_POST[telefon]\n\n nazwa firmy: $_POST[nazwafirmy]\n\n adres firmy: $_POST[adresfirmy]\n\n NIP: $_POST[nip]"; // zmienna $header zawiera przede wszystkim adres zwrotny $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "From: $_POST[imie] \r\nContent-type: text/html; charset=utf-8\r\n"; // funkcja mail() za pomoca której wiadomosc zostanie wyslana mail("[email protected]","Formularz kontaktowy - InterCars","$message","$headers") or die('Nie udało się wysłać wiadomości'); // wyswietlenie komunikatu w przypadku powodzenia echo "Wiadomość została wysłana poprawnie!"; $wiadomosc_wyslana = "poprawnie"; } // lub w przypadku nie wypelnienia formularza do konca else echo "Wypełnij wszystkie pola formularza!"; } if ($wiadomosc_wyslana != "poprawnie") { echo " Imię i nazwisko Nazwa firmy Adres firmy NIP Telefon Adres e-mail Treść wiadomości "; } ?> EDIT: Dowiedziałem sie ze serwer ma zablokowaną funkcje mail w takim razie, jak to obejśc zeby dzialalo ?
piotrek Napisano 6 Lipiec 2007 Napisano 6 Lipiec 2007 Z tego co pamiętam, serwer musi mieć włączoną obsługę tej funkcji. Jeśli administratorzy tych dwóch serwerów ją wyłączyli, nie wyślesz maila. Jeśli musisz mieć stronkę na tych serwerach, możesz umieścić ten jeden plik wysyłający maila na serwerze, który to umożliwia. [+] Robisz tak, jak pisałem: Utwórz plik php, powiedzmy sendMail.php, w którym wywołasz funkcję mail: mail ($_POST['adres'], "temat", $_POST['message'], $_POST['headers']); ?> i umieść go na serwerze, z którego można wysyłać maile. Natomiast w tym pliku z formularzem posprawdzaj wszsytkie zmienne i jeżeli wszystko gra, wyślij te dane do pliku z funkcją mail: http://serwer_z_włączoną_obsługą_funkcji_mail/folder/sendMail.php Możesz to oczywiście zrobić wszystko w jednym pliku, tak jak masz teraz, tylko cały ten plik umieść na powyższym serwerze.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się