Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny problem z funkcją mail
Forum PHP.pl > Forum > PHP
przemysuaw
Witam.

Mam prosty formularz kontaktowy.

Podaję imie maila i tresc wiadomosci i wysyłam.

Problem polega przy wysyłaniu.

Otóż gdy kod wygląda w ten sposób to wszystko działa i dostaję maila:
  1. if (mail($biuro, 'Szybki kontakt ', $body,'From: mialzktoregodziala@o2.pl')) {
  2. $wiad_wyslana['poszlo']='<h5>Twoja wiadomość została wysłana. W krótce otrzymasz od nas odpowiedź. Pozdrawiamy.</h5>';
  3. } else {
  4. $wiad_wyslana['nie_poszlo']='Nie udało się wysłać maila. Spróbuj jeszcze raz.';
  5. }


Natomiast jak zmienię jakkolwiek wartość From to już nie działa.

Próbowałem już:
  1. $e=$_POST['email'];
  2. mail($biuro, 'Szybki kontakt ', $body,'From:'. $e)


  1. $header = "From: ". $imie . " <" . $e . ">\r\n";
  2. mail($biuro, 'Szybki kontakt ', $body, $header)
markonix
Sprawdź czy header wygląda jak powinien (echo).
Ogólnie nie wklejaj w "from" wartość z formularza bo niektórzy klienci (np. gmail) wyświetlają ostrzeżenia, że to jest próba podszycia (bo pewnym w stopniu jest).
Ustaw w zamian po prostu reply-to.
przemysuaw
Nie no jakaś paranoja smile.gif.
Poniższy kod działa tylko wówczas jak w formularzu wpiszę konkretny jeden adres email, jak już wpiszę inny adres email to nie idzie.
Nie mam pojęcia co może być nie tak. Może w php.ini mam jakieś dziwne ustawienia questionmark.gif

Reply-To: - nie działa.

  1. $header = "From: ".$e;
  2. echo $header;
  3. if (mail($biuro, 'Szybki kontakt ', $body, $header)) {
  4. $wiad_wyslana['poszlo']='<h5>Twoja wiadomość została wysłana. W krótce otrzymasz od nas odpowiedź. Pozdrawiamy.</h5>';
  5. } else {
  6. $wiad_wyslana['nie_poszlo']='Nie udało się wysłać maila. Spróbuj jeszcze raz.';
  7. }
com
  1. $header = "From: $imie\r\nReply-To: $email\r\n";
przemysuaw
Niestety nie działa.

Nawet jak wpiszę w formularz ten adres email który działał mi w poprzedniej wersji kodu.

Najdziwniejsze jest, że działa tylko jeden adres.
ber32
Witam.
  1. $headers = '';
  2. $headers .= 'MIME-Version: 1.0'."\n";
  3. $headers .= 'Content-type: text/html; charset=UTF-8'."\r\n";
  4. $headers .= 'Content-Transfer-Encoding: 8bit'."\r\n";
  5. $headers .= 'From: "Tyjek" <email@o2.pl>' . "\r\n";
  6. $headers .= 'Reply-To: email@o2.pl' . "\r\n";
przemysuaw
Niestety to rozwiązanie również działa tylko w przypadku gdy w 'From: ' jest adres tego jednego konkretnego adresu email, ale przynajmniej wiem jakie nagłówki dodawać by były polskie znaki smile.gif.

Chyba wiem gdzie leży problem.

Otóż wszedłem do pliku wamp\bin\sendmail\sendmail.ini a tam napotkałem ustawienia

- smtp_server=poczta.o2.pl
- smtp_port=587
- smtp_ssl=auto
- default_domain=o2.pl
- error_logfile=error.log
- auth_username=mailzktoregodziala
- auth_password=haslo

Pytanie jak mam to wszystko skonfigurować, by działało tak jak powinno, czyli dowolna wartość 'From: ' questionmark.gif
em1X
Najwidoczniej serwer pocztowy o2.pl jest tak skonfigurowany, żeby nie można było takich kombinacji wyczyniać. Załóż sobie własny serwer pocztowy na wingrozie.
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.