fiasko
13.11.2011, 15:34:52
Wysyłałem sobie emaile pod nieprawidłowe adres, które wiem, że nie istnieją . Jak obsługiwać błędy wysłania ?
Zrobiłem tak:
$result = $mail->Send();
if ( $result == true){
echo'Wiadomość wysłano';
}
else {
echo'Wiadomość nie została wysłana na adresy e-mail.<br>';
}
no i tak pokazuje, że wiadomość wysłano.
nospor
13.11.2011, 15:37:12
Cytat
które wiem, że nie istnieją
Cytat
no i tak pokazuje, że wiadomość wysłano.
Bo klasa PHPMailer służy do wysyłania maili a nie do sprawdzania, czy podany adres e-mail istnieje.
fiasko
13.11.2011, 15:45:21
Tak ale jak wysyłam emaila to chcę wiedzieć czy doszedł do drugiego serwera. Funkcja mail to umożliwia .
Jesteś pewny, że nie ma w klasie metody, która o tym informuje ?
nospor
13.11.2011, 15:48:25
Cytat
Funkcja mail to umożliwia
Nie kojarzę, by funkcja mail dawała ci info, że podany email nie istnieje.
fiasko
13.11.2011, 15:51:42
Nie tyle co nie istnieje co zwraca, że wiadomość została wysłana z niepowodzeniem.
nospor
13.11.2011, 15:52:48
Dobrze, to napiszę inaczej:
nie kojarzę by funkcja mail pisała, że wiadomośc została wysłana z niepowodzeniem w przypadku, gdy podany adres e-mail nie istnieje.
fiasko
13.11.2011, 16:00:28
właśnie przetestowałem - masz rację niestety:(
Jak wobec tego wykryć, że wysłany emial nie doszedł do adreseta ?
nospor
13.11.2011, 16:02:46
serwer adresata zwraca wiadomość zwrotną, gdy coś nie tak jest z adresem, na który próbujesz coś wysłać. Musisz więc odbierać mailie zwrotne i je analizować

Tylko po co się tym w ogóle przejmujesz? Wysłałeś i już. Jak ktoś podał lipny adres to jego sprawa a nie Twoja.
fiasko
13.11.2011, 17:44:42
Tak, ale jak mam w bazie 30 tyś adresów klientów to wolę oszczędzić serwer.
Jak wobec tego odczytać Mail Delivery System [Mailer-Daemon@dddddd.com.pl] z serwera poczty gdy wysyłam funkcją mail ?
Czemu nie przychodzi mi email z informacją od mojego serwera, że adres email na ktory wysłałem pocztę nie istnieje ?
Jak wysyłam przez smtp to otrzymuję takją informację . Natomiast jak używam funkcji mail to już nie mam tego rodzaju informacji.
Bags_Bunny
13.11.2011, 19:06:27
Sprawdzenie istnienia 30 tysięcy maili niewątpliwie oszczędzi Ci serwer bardziej, niż wysłanie kilku mniej. Po prostu wysyłaj i monitoruj zwroty (polecam Zend Mail). Jeśli otrzymasz zwrot, to usuwaj email z bazy i na przyszłość już go nie użyjesz.
A poza tym, to ten temat (jak i większość tematów na tym forum) jest poruszany średnio raz na 3 dni. Skorzystaj z wyszukiwarki i nie zaśmiecaj forum. Np. tutaj:
Temat: PHP Sprawdzenie adresu e mail - sprzed kilku dni, wciąż na pierwszej stronie.
Co do Twojego ostatniego pytania - ustawiłeś poprawny adres nadawcy? Może zwroty przychodzą na jakiś zrzutowy adres serwer.
fiasko
13.11.2011, 19:23:41
No w tym problem, że zwrotów nie dostaję gdy wysyłam je przez funkcję mail z poziomu php.
Jak to włączyć ? mam exim
Bags_Bunny
13.11.2011, 19:28:00
Na początek spróbuj dodać nagłówki From i Reply-To.
fiasko
13.11.2011, 19:33:33
<?
function send_mail(){
$tresc .= "test";
$adres = "dane3453647@o2.pl";
$temat = "Test wiadomości";
$naglowki = "Content-type: text/plain; charset=iso-8859-2\n" .
"From: admin@xxx.pl\n" .
"Reply-to: admin@xxx.pl\n";
// wyslij maila
$wyslany = mail($adres,$temat,$tresc,$naglowki); return $wyslany;
}
$rezult = send_mail();
?>
Tak wysyłam w ramach testów. Powinienem dostać zwrotkę na admin@xxx.pl - niestety nie dostaje.
linx
13.11.2011, 20:12:46
A niby z jakiej racji miał byś dostać zwrotkę

Przecież wysyłasz maila tylko na adres dane3453647@o2.pl
fiasko
13.11.2011, 20:21:33
A mój serwer poczty to co ? Sam sobie nie powinien wysłać ?
abort
14.11.2011, 21:24:29
Wysłać? wysłać czego? Zwrotkę? A niby z jakiej racji?
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.