Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z nagłówkami dodatkowymi funkcji mail()
Forum PHP.pl > Forum > PHP
bartas1979
Witam!

Od kilku dni borykam się z problemem dodatowych nagłówków funcki mail(). Otóż polega on na tym, iż mimo ustawienia Form: oraz Reply-to: odbiorca wiadomosci ciągle widzi jako adresata, email admina serwera na którym jest konto hostingowe. Oznacza to że wybranie opcji odpowiedz wysyła mail do admina a nie do osoby która wysyłała mail.

Druga sprawa dotyczy polskich znaków w mailu. Czytałem juz chyba wszystko na tym (i nie tylko) forum na temat kodowani polskich znaków i ... w momencie odczytania maila w programie pocztowym - wszystko jest ok - polskie znaki wyświetlają sie poprawnie lecz gdy poczta jest odczytywana za pomoca panelu WWW to albo nie ma wogóle polskich znaków albo są wyświetlanie błędnie.

Prosze o pomoc w rozwiazu tej kwesti za co z góry wielkie THX. Pozdro.
zleek
a mogłbyś pokazać kod? bo w ciemno to raczej trudno coś poradzić
nospor
Cytat
iż mimo ustawienia Form:
To literowka spowodowana nerwami czy naprawde masz tam Form? Bo powinno byc From smile.gif
Ale jak juz wspomniano kod tez by sie przydal
bartas1979
Sorrka - faktycznie - pisanie o problemie bez kodu to jak pływanie na piasku. Oto i on:

  1. <?php
  2. $recipient = "mail@mail";
  3. $temat = $_POST['temat'];
  4. $nazwisko = $_POST['nazwisko'];
  5. $email = $_POST['email'];
  6. $wiadomosc = $_POST['wiadomosc'];
  7. $naglowki = "MIME-Version: 1.0rn ";
  8. $naglowki .= "Content-type: text/plain; charset=iso-8859-2rn ";
  9. $naglowki .= "Content-transfer-encoding: 8bitrn ";
  10. $naglowki .= "From: $emailrn ";
  11. $naglowki .= "Reply-To: $emailrn ";
  12.  
  13. $formsend = mail("$recipient", "$temat", "$wiadomosc", "$naglowki");
  14. ?>


Dzięki za zainteresowanie tematem.
zleek
No to znalazłem błąd u Ciebie smile.gif

  1. <?php
  2. $recipient = "maildo@mail.pl";
  3. $temat = "temat";
  4. $nazwisko = "nazwisko";
  5. $email = "from@mail.pl";
  6. $wiadomosc = "treńó";
  7. $naglowki = "MIME-Version: 1.0n ";
  8. $naglowki .= "Content-type: text/plain; charset=iso-8859-2n";
  9. $naglowki .= "Content-transfer-encoding: 8bitn";
  10. $naglowki .= "From:".$email."n";
  11. $naglowki .= "Reply-To:".$email."n";
  12.  
  13. $formsend = mail("$recipient", "$temat", "$wiadomosc", "$naglowki");
  14. ?>


Co poprawilem... Wystarczylo podglądnąć źródło wiadomości i zauważyłem że w nagłówku każda następna linijka po MIME była wcięta o jedną spację bo w linijce $naglowki po \r\n dawałeś spacje i to było przyczyną błędów.
bartas1979
No cóż - niestety nie działa mimo tej poprawki. Nadal nie wyświetla poprawnie polskich znaków i nadawcy listu.
bendi
Cytat(bartas1979 @ 6.12.2006, 18:21:21 ) *
No cóż - niestety nie działa mimo tej poprawki. Nadal nie wyświetla poprawnie polskich znaków i nadawcy listu.


Hmm a co dociera do adresata - moze serwer wysylajacy wiadomosci nadpisuje naglowki swoimi i odbiorca nie dostaje nic z tego co ty ustawiles.
bartas1979
No właśnie podejrzewam że masz racje - jeśli to jest możliwe - nie znam się aż tak. Po prostu adresat otrzymuje info że mail został wysłany przez admin@nazwa_konta.strefa.pl, polskie znaki są odczytywane poprawnie jedynie przez program pocztowy bo poprzez klienta WWW już nie. Gdy adresat wybierze opcje odpisz nadawcy w pole adresu umieszczony zostaje adres admin@nazwa_konta.strefa.pl.
zleek
no to musi byc juz na prawde wina po stronie serwera, bo ja testowalem to na moim serwerze i dzialalo ok. jak mozesz to wez wyslij do mnie maila za pomoca tego skryptu to sobie zerkne na jego zrodlo
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.