Jak znaleź

Potrzebujesz pomocy z C, C++, perl, python, itp.
TenDrugi
Posty: 60
Rejestracja: 27 sierpnia 2008, 11:17
Lokalizacja: Sosnowiec

Jak znaleźć powód gubienia wiadomości wysłanej funkcją @mail

Post autor: TenDrugi »

Jak znaleźć powód gubienia wiadomości wysłanej funkcją @mail (poniżej fragment).

Kod: Zaznacz cały

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
Wiadomość wysłana
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
Posty: 10
Rejestracja: 18 marca 2008, 21:59

Post autor: gönx »

Kod: Zaznacz cały

<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>

Kod: Zaznacz cały

<?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
Posty: 60
Rejestracja: 27 sierpnia 2008, 11:17
Lokalizacja: Sosnowiec

Post autor: TenDrugi »

Szczerze mówiąc, to co napisałeś:

Kod: Zaznacz cały

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.

Kod: Zaznacz cały

} 
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ł?
ODPOWIEDZ