Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PROBLEM] Wysyłanie wiadomości e-Mail z poziomu przeglądarki, mail();
peja1990
post 10.03.2012, 12:32:42
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


Witam,
mam upierdliwy problem z funkcją mail() w PHP.

Czemu upierdliwy ?
Napisałem dosyć obszerny skrypt formularza jQuery...
Wszystko ładnie działa, jednak na koniec PHP daje mi za przeproszeniem w dupę funkcją mail(), może jest to śmieszne ale cóż... Zdarza się smile.gif

W czym problem ?
Mianowicie, przesyłam dane z formularza jQuery funkcją serialize() w metodzie POST
  1. $.post("message.php?" + form.serialize());

No i wszystko nadal jest GIT, odbieram dane _REQUEST'em, odbiera świetnie smile.gif
No ale co... Gdy odbieram wartość zmiennej zawierającą treść maila (z pola textarea oczywiście) i chcę ją przetworzyć funkcją nl2br, to nic z tego...
Entery wstawione w formularzu nie wyświetlają się w mailu...
Próbowałem na różne sposoby, ustawiałem kodowanie pliku (UTF-8 / ISO-8859-1) i NIC...
Ogólnie html przekazany z formularza wyświetla się tak jak powinien... tylko te nowe linie...
Próbowałem również zdefiniować przykładową zmienną w pliku z funkcją mail(), która zawierała zwykły tekst z nowymi liniami tak, jakbym go wpisał w formularzu i co ?! Tak działa... ;/

Oto mój plik z funkcją mail()
  1. if(
  2. validateNames($_REQUEST['names'])
  3. && validateEmail($_REQUEST['email'])
  4. && validateContent($_REQUEST['content'])
  5. && validateCaptcha($_REQUEST['code'], $_SESSION['security'])
  6. ) {
  7. $mainEmail = "office@example.com";
  8. if(isset($_REQUEST['copy']) && $_REQUEST['copy'] == 1) {
  9. $recipients = $mainEmail.", ";
  10. $recipients .= $_REQUEST['email'];
  11. } else {
  12. $recipients = $mainEmail;
  13. }
  14. $subject = $_language->module['message_subject'];
  15.  
  16. $content = "<html><head><title>".$_language->module['message_subject']."</title></head><body>";
  17. $content .= nl2br(stripslashes(htmlspecialchars_decode($_REQUEST['content'])));
  18. $content .= "</body></html>";
  19.  
  20. $headers = "MIME-Version: 1.0"."\n";
  21. $headers .= "Content-Transfer-Encoding: 8bit"."\n";
  22. $headers .= "Content-type: text/html; charset=UTF-8"."\r\n";
  23. $headers .= "From: ".$_REQUEST['names']." <".$mainEmail.">"."\r\n";
  24. $headers .= "To: ".$mainEmail." <".$mainEmail.">"."\r\n";
  25. if(isset($_REQUEST['copy']) && $_REQUEST['copy'] == 1) {
  26. $headers .= "Reply-to: ".$_REQUEST['email']." <".$_REQUEST['email'].">"."\r\n";
  27. $headers .= "Cc: ".$_REQUEST['email']."\r\n";
  28. $headers .= "Bcc: ".$_REQUEST['email'];
  29. }
  30. if(!mail($recipients, $subject, $content, $headers)) {
  31. echo $_language->module['message_error'];
  32. }
  33. }




Wie ktoś co może być powodem tego upierdliwego problemu ?
Za pomoc będę bardzo wdzięczny bo chwilę już nad tym siedzę i nie mam już pomysłu co z tym zrobić dlatego piszę tutaj...

Serdecznie pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:22