Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wysyłanie maila na nieistniejący mail
Taifun
post
Post #1





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


witam,
mam forum gdzie użytkownicy przez pewien okres czasu nie potwierdzali maili. Dlatego wpisywali złe maile, które w rzeczywistosci nie istnialy.
Jak wysylam na taki mail wiadomosc to niestety ale pojawia sie biala strona bez bledu jakiegokolwiek. Sprawdzalem te maile i faktycznie nie istnieja. Jak sobie poradzic z takim problemem?
Go to the top of the page
+Quote Post
delfinium
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 6
Dołączył: 30.06.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Mail wyśle się niezależnie czy skrzynka istnieje czy nie i błędu nie będzie. Ja znam tylko 3 rozwiązania:

1. getmxrr" title="Zobacz w manualu PHP" target="_manual - przy zakładaniu konta możesz sprawdzać rekord MX serwera, na którym ma się niby znajdować skrzynka. Nie siedzę dokładnie w temacie ale większość serwerów pocztowych ma rekord MX, chociaż miałem już sytuacje, że adres mailowy istniał na 100% a rekordu MX nie udało się sprawdzić. Dodatkowo nie idzie sprawdzić czy skrzynka na tym serwerze rzeczywiście istnieje więc to jeśli już to tylko połowiczne rozwiązanie.

2. Ja mam dodatkowy sposób na takie skrzynki ale ciężko go zrobić w "normalnych" warunkach. Jeśli serwer docelowy przyśle mi zwrotkę, że takie konto nie istnieje to system pocztowy przekazuje do php całą wiadomość a ja już sobie wyciągam jaka to była skrzynka i czemu nie doszło, na podobnej zasadzie działa powiadamianie SMSem o nadejściu poczty. Ale żeby takie coś uzyskać musiałbyś mieć wtyki u administracji serwera albo mieć własną maszynkę.

3. Ten wykorzystuję najczęściej i działa w 100%. Po prostu przy rejestracji wymagam podania emaila na który wysyłam prośbę o potwierdzenie i aktywację konta. Jak nie odpowie w ciągu X dni to kij z nim - albo mail zły albo się rozmyślił i wtedy nie ma już problemu z wysyłaniem maili na nieistniejące konta.

A jak już masz te adresy w bazie to jedyne jak dla mnie wyjście to jeśli dostajesz zwrotki o niedostarczonej poczcie to musiałbyś ręcznie wywalać adresy bo chyba innej metody nie ma.
Go to the top of the page
+Quote Post
Taifun
post
Post #3





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


a dlaczego mi wywala białą stronę i przerwywa pętle skoro break nie ma nigdzie w żadnym else :/

Może niejasno się wyraziłem. Przy normalnych mailach śmiga ale gdy zwracany jest wysłana wiadomość czyli mail nie istnieje to pojawia sie biala strona, przerywa pętle ;/


  1. <?php
  2.  
  3. po&#322;ączenie z bazą
  4.  
  5.  
  6. $id = $_GET['id'];
  7.  
  8. $zapytanie = "SELECT `username`,`user_email` FROM `phpbb3_users` WHERE `user_id`=$id";
  9. $query=mysql_query($zapytanie);
  10.  
  11.  while($result=mysql_fetch_array($query))
  12. {
  13. $imie = $result['username'];
  14. $temat = "temat maila";
  15. $mailu = $result['user_email'];
  16. $do_kogo = "$mail2";
  17. $nazwa = "nazwa";
  18. $mailt = "adres@o2.pl";
  19.  
  20. $nazwan = "no-reply";
  21. $mailtn = "no-reply@o2.pl";
  22.  
  23.  
  24.  
  25. $wiadomosc = "
  26. <html>
  27. <head>
  28. <meta http-equiv='content-type' content='text/html; charset=UTF-8' />
  29. </head>
  30. <body>
  31. Piocy
  32. </body>
  33. </html>";
  34.  
  35. $naglowki = "Reply-to: $nazwan <$mailn>\n";
  36. $naglowki .= "From: $nazwa <$mailt>\n";
  37. $naglowki .= "Content-type: text/html; charset=utf-8\n"; 
  38.  
  39. if(mail($mailu, $temat, $wiadomosc, $naglowki))
  40. {
  41. echo 'Wyslano e-mail;';
  42. }
  43. else {
  44. echo 'Nieoczekiwany błąd';
  45. }
  46.  
  47. $numer = $id;
  48. $nowy = $numer+1; 
  49.  
  50. echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"3,URL=http://www.adres_ze_skryptem.pl/mail.php?id=$nowy\">";
  51. echo "Wyslano do <b>$mailu</b> ($imie)";
  52. }
  53. mysql_close($polaczenie); 
  54. ?>


Ten post edytował Taifun 2.09.2008, 20:47:59
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:39