Zacznę trochę dziwnie, znam rozwiązanie swojego problemu, ale nie jestem z niego zadowolony i nie znam też przyczyny...
Na serwerze znajduje się plik /public_html/libs/test/form.php w którym znajduje się:
$adresat = '[email protected]';
$mail = $_POST['mail'];
$kto = $_POST['kto'];
$tel = $_POST['tel'];
$tresc = $_POST['tekst'];
$content = "
Kto: ".$kto."\n\r
E-mail: ".$mail."\n\r
Tek: ".$tel."\n\r
$tresc";
$header = "From: ".$mail." \nContent-Type:".' text/plain;charset="UTF-8"'."\nContent-Transfer-Encoding: 8bit";
if (mail($adresat, 'Kontakt ze strony', $content, $header)){
echo 'ok';
}
Nic szczególnego, jednak adresy witryny przepisywane są za pomocą .htaccess
RewriteRule ^(.*),(.*).html$ index.php?strona=$1&link=$2 [L,NC]
index.php includuje odpowiedni plik na podstawie tych dwóch zmiennych, tak więc adres docelowy to www.domena.pl/5,kontakt.html. Na tej stronie znajduje się formularz kierujący sam do siebie
action="/5,kontakt.html"
i tu zaczyna się problem, ponieważ po wysłaniu formularza strona wyświetla "ok" tak jakby wiadomość została wysłana, jednak ta nigdy nie dociera. Zmienne $_POST są prawidłowo przekazywane i przypisywane - sprawdziłem.
Problem znika, kiedy formularz kieruje nie do przyjaznego linka, a
action="/libs/test/form.php"
Niestety nie mogę pozwolić sobie na pokazywanie struktury katalogów, dlatego moje pytanie brzmi dlaczego wysyłając formularz przez przyjazny link wiadomość (mimo rzekomego wysłania) nie dociera? Dodam, że przez 3 miesiące skrypt działał prawidłowo i nagle przestał. Ja nic nie zmieniałem, hostingodawca utrzymuje, że konfiguracja serwera nie uległa zmianie.
Z góry dzięki za pomoc.