• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego ten kod mail() nie działa?

Object Storage Arubacloud
+1 głos
2,010 wizyt
pytanie zadane 7 sierpnia 2015 w PHP przez migacz100 Mądrala (5,410 p.)
<?php
if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) ) {
 
  $to = "archiero@gmail.com";
  $imie = $_POST['imie'];
  $nazwisko = $_POST['nazwisko'];
  $email = $_POST['email'];
  $adres = $_POST['adres'];
  $kod = $_POST['kod'];
  $miasto = $_POST['miasto'];
  $uczelnia = $_POST['uczelnia'];
  $nr_dowod = $_POST['nr_dowod'];
 
  $subject = "Zgłoszenie [FORMULARZ REJESTRACJI] ODME 2015";
 
  $message = "Imię i nazwisko:\t". $imie ." ". $nazwisko ."\r\nAdres e-mail:\t". $email ."\r\nAdres:\t". $adres .", ". $kod ." ". $miasto ."\r\nUczelnia:\t". $uczelnia ."\r\nNr dowodu osobistego\t". $nr_dowod;
 
  $headers = "From: ODME-2015@odme-2015.pl"."\r\n" . "Reply-To: ". $email ."\r\n";
  mail($to, $subject, $message, $headers);
 
} else {
 
  header("Location: index.html");
  exit();
 
}
?>

Jak wyżej, nie działa. Wiadomość nie przechodzi.

4 odpowiedzi

+3 głosów
odpowiedź 7 sierpnia 2015 przez natrov Gaduła (3,970 p.)

Też miałem problemy z funkcją mail ;)

PhpMailer mi działał.

 

https://pomoc.webio.pl/kb/a82/przyklad-wykorzystania-biblioteki-phpmailer-do-wysylania-poczty.aspx

 

komentarz 7 sierpnia 2015 przez Comandeer Guru (600,810 p.)

Potwierdzam. Do maili nie ma co się babrać z mail - najlepiej wykorzystać PHPMailer lub SwiftMailer

0 głosów
odpowiedź 7 sierpnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nie działa funkcja mail? Możesz np. sprawdzić czy zwróciła ona true czy false żeby było wiadomo czy to o samo mail chodzi czy może o to że coś wcześniej się nie wykonuje. Jesteś pewien że ten pierwszy if jest spełniany?

Gdzie wykonujesz ten kod? Na localhoście czy jakimś serwerze zewnętrznym? Masz tam skonfigurowane wszystko odpowiednio w php.ini co do wysyłania maili? Na serwerze zewnętrznym przeważnie wszystko powinno być już od razu skonfigurowane dobrze ale na localhoście nie - z resztą próbujesz wysyłać maile z jakiejś domeny więc mam nadzieję że próbujesz to robić z serwera do którego jest ona podpięta.

Zastanawiam się jeszcze czy z tymi nagłówkami wiadomości jest wszystko okej ale powiedz najpierw czy dochodzi na pewno do wywołania funkcji mail i czy z serwerem masz wszystko jak powinno być.
0 głosów
odpowiedź 7 sierpnia 2015 przez roque Bywalec (2,160 p.)
Mail może i wychodzi, ale pewnie serwer docelowy go wywala, bo może uważać to za spam. Serwery takie jak gmail i inne nie przyjmuja maili wysłanych z funkcji mail() z PHP. Weź to pod uwagę podczas wysyłania takich maili na produkcyjnej aplikacji, bo nic nie dojdzie do nikogo ;-) Pomijam fakt, ze funkcja mail() na Twoim serverze lub localhoscie nie jest skonfigurowana.

Powinienieś używać własnego emaila przez SMTP, tak jak koledzy radzą, np: SwiftMailer i podpiać pod konfigurację dane do logowania, czyli login, haslo, port smtp, adres servera poczty wychodzacej, itd, zależnie od konfiguracji.
0 głosów
odpowiedź 25 września 2015 przez Include Nowicjusz (200 p.)
Przepraszam, że odkopuję temat z sierpnia, ale również mam problem z tą funkcją. Posiadam na starym komputerze Windows XP, jestem w trakcie nauki PHP. Chciałbym sprawdzić swój formularz, w którym użytkownicy mogli wpisać dane i maila, a następnie lądowało to w bazie danych. Teraz z innego formularza chcę wysłać w pętli maile z jakąś przykładową wiadomością do wszystkich, żeby sprawdzić, czy ta funkcja działa. Niestety tak się nie stało, po obejrzeniu tutoriali na YT, tj. ustawianie w php.ini, sendmail.ini różnych parametrów, pomogło to na tyle, że widzę tę symulację wysyłania poczty przez Mercury, za każdym wysłaniem pojawia się pasek ładowania i znika. Niestety chyba nie potrafię skonfigurować tego programu, albo i tak to działać nie będzie. Moim celem jest nawet to, by taka wiadomość trafiła do spamu, gdyż chcę po prostu sprawdzić, czy taki mail się przesyła, a skrypt poprawnie przyjmuje dane z formularza. Testuję to na swoich skrzynkach, tj. gmail, interia, o2 - ale nic z tego.

Chyba nie bardzo rozumiem przeznaczenie tego serwera SMTP. Pojmuję, że w jakiś sposób funkcja PHP mail() potrzebuje dodatkowego oprogramowania, który będzie symulował klienta poczty. Dowiedziałem się między innymi o takich programach jak Thunderbird, PHPMailer, Mercury itd.  Nie wiem jak mógłbym jednak te programy skonfigurować, by wszystko działało poprawnie.
komentarz 25 września 2015 przez event15 Szeryf (93,790 p.)
a robisz to na http://localhost

?
komentarz 25 września 2015 przez Include Nowicjusz (200 p.)
Tak, póki co, używam XAMPP'a, więc o localhost się rozchodzi
komentarz 25 września 2015 przez event15 Szeryf (93,790 p.)

Na localhoscie funkcja mail nie ma prawa działać wink

komentarz 25 września 2015 przez Include Nowicjusz (200 p.)
Tak też myślałem w sumie, no nic, dzięki za utwierdzenie w tym i nie pozostaje mi nic innego, jak szarpnąć się na jakiś hosting :P

Podobne pytania

0 głosów
4 odpowiedzi 375 wizyt
pytanie zadane 6 grudnia 2015 w C i C++ przez tetriss Obywatel (1,710 p.)
0 głosów
3 odpowiedzi 347 wizyt
pytanie zadane 17 lutego 2016 w C i C++ przez Daaa22 Dyskutant (8,250 p.)
0 głosów
1 odpowiedź 124 wizyt
pytanie zadane 15 grudnia 2015 w C i C++ przez dartek Początkujący (300 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...