[PHP] Wysyłanie email przez skrypt php


(Aglasek) #1

Witam

Chcę zrobić na stronie aby można było wysłać meila bez klienta pocztowego i coś mi nie działa;( Jestem początkującym więc proszę o wyrozumiałość. Oto mój kod:

wpisz email tresc maila
[/code] a w drugim pliku skrypt.php mam:
[code] <?PHP $adresat = "mojadres@wp.pl"; // pod ten adres zostanie wysłana wiadomosc, jest to adres przykładowy @$email = $_POST['email']; @$content = $_POST['content']; $header = "From: ktos@serwer.pl \nContent-Type:". 'text/plain;charset="iso-8859-2"'. "\nContent-Transfer-Encoding: 8bit"; if (mail("$adresat", "Jakis temat", $content, $header)) echo "działa"; else echo "nie wysłano"; ?>

a oto moj blad: Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files (x86)\WebServ\httpd\wysylanieMeilaZphp\skrypt.php on line 10

nie wysłano

Uruchamiam to na localu. Dodam, ze pliki umieszczałem na darmowym serverze i także nie działało - pokazywało komunikat "nie wysłano".


(Grzelix) #2

$adresat jest zmienną a ty dałeś to w cuczysłowie jak string - to może powodować błąd

poza tym na localu z reguły nie działa wysyłanie maila - trzeba skonfigurować usługę pocztową


(Aglasek) #3

skasowałem ten cudzysłów w zmiennej $adresat. Wrzuciłem na darmowy server ale pokazuje komunikat "nie wysłano". Czy jak zamieszczam na serverze to też trzeba coś skonfigurować czy o co tu chodzi?


(Grzelix) #4

Zobacz czy uda ci się wysłać jakąś wiadomość wbitą na stałe (bez $_POST) bo próbowałem twój skrypt i działa (tzn ta część z wysyłaniem stałej wiadomośći)

może jest tak że nie można wysłać pustego maila.


(Aglasek) #5

mam tak:

<?PHP

      $adresat = "jakismail@wp.pl"; 

      @$content = "jakas tresc wiadomosci";


      $header = "From: ktos@serwer.pl \nContent-Type:".

                      'text/plain;charset="iso-8859-2"'.

                      "\nContent-Transfer-Encoding: 8bit";


     if (mail($adresat, "Jakis temat", $content, $header))

            echo "działa";

      else

           echo "nie wysłano";

      ?>

ale nadal mam komunikat "nie wysłano" ;(


(Grzelix) #6

Obecny kod działa u mnie na jednym z serwerów.

więc prawdopodobnie winna może leżeć teraz po stronie serwera. Kod jest poprawny.


(pain3hp) #7

Problem dlatego bo masz na localu. Miałem to samo i szukałem chyba 3 dni jak temu zaradzić ale znalazłem alternatywne rozwiązanie -> http://papercut.codeplex.com/ uruchom to i wtedy ci odbiera wszystkie maile. rozwiazanie super do testów, bo sobie spamu na skrzynce nie robisz


(Marcin E Pc) #8

Polecam zainteresować się:

PHPmailer

Wg. mnie jest to bardzo dobre rozwiązanie, sam z niego korzystam i od dłuższego czasu nie mam z tym problemów.

pozdrawiam


(Esk 2) #9

ok fajnie mi to działa, tylko co zrobić by w otrzymanym emailu dostać wpisany w formularzu email?

bo inaczej nawet nie mamy opcji odpisania..

co i gdzie dopisac? pomóżcie

-- Dodane 02.08.2012 (Cz) 6:49 --

proszę o pomoc, wkarzcie jaki parametr to obsługuje i gdzie należy to wstawić, bo szukam po necie i nie mogę znaleźć.