|
Jak znaleźć powód gubienia wiadomości wysłanej funkcją @mail
TenDrugi - 18-10-2008 23:47
Jak znaleźć powód gubienia wiadomości wysłanej funkcją @mail (poniżej fragment). elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]"; $header = "From: $_POST[imie] <$_POST[email]>"; $To= $_POST['AdresOdbiorcy']; @mail("$To","Wiadomosc ze strony www","$message","$header") or die('Nie udało się wysłać wiadomości'); echo "Wiadomość wyslana ! ";
Mimo, że dostaję komunikat
nic do odbiorcy nie dociera.
Co ciekawsze, program przestał działać gdy zainstalowałem go na nowej instalacji Debiana (Lenny). Kiedyś przez długi czas działał bez pudła na Etch. Oczywiście nie kojarzę problemu z samą zmianą s.o. najprawdopodobniej brakuje mi jakiegoś programu lub prawa. Tylko jak to sprawdzić? Może jest jakaś funkcja?
Z góry dziękuję i pozdrawiam.
gĂśnx - 19-10-2008 22:59
<form action="mail.php" method="post"> Imie<input type="text" name="imie" />
Email_nadawcy<input type="text" name="email" />
Tytul<input type="text" name="tytul" />
Odbiorca<input type="text" name="odbiorca" />
Tresc<input type="text" name="tresc" />
<input type="submit" name="submit" value="submit" /> </form>
<?php
$odbiorca = $_POST['odbiorca']; $nadawca = $_POST['imie']; $email_nadawcy = $_POST['email']; $tytul = $_POST['tytul'];
$wiadomosc = ''; $wiadomosc .= "\n Tresc wiadomości:"; $wiadomosc .= $_POST['tresc']; $wiadomosc .= "\n Wyslal: "; $wiadomosc .= $_POST['imie']; $wiadomosc .= "\n E-mail: "; $wiadomosc .= $_POST['email'];
if (mail($odbiorca,$tytul,$wiadomosc,"From: $nadawca <$email_nadawcy>")) { echo "Mail wyslany!"; } else { echo "Mail niewyslany!"; }
?>
TenDrugi - 20-10-2008 10:31
Szczerze mówiąc, to co napisałeś: if(mail.. else...
jest dla mnie znacznie bardziej czytelne od konstrukcji którą sam miałem (pożyczona z netu). Dziękuję.
[ Dodano: 2008-10-20, 18:51 ] Nic z tego nie wyszło ! Nadal poczta którą wysyłam nie dociera do odbiorcy. } elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]"; $header = "From: $_POST[imie] <$_POST[email]>"; $To= $_POST['AdresOdbiorcy']; if (mail("$To","Wiadomosc ze strony www","$message","$header")) { echo ("Mail wysłany do: "); echo($To); } else { echo "Sorry, nie udało się wysłać tej wiadomości !"; } ?>
Po naciśnięciu "wyślij" wyświetlana jest informacja "Mail wysłany do: <tutaj email odbiorcy>" lecz do odbiorcy nic nie dociera. I na pewno nie jest to jakiś głupi błąd - literówka w emailu itp. Może ktoś ma pomysł?
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|