Jak mogę sprawdzić, czy mail()
pomyślnie przesłał pocztę?Jak przetestować, czy poczta PHP() pomyślnie wysłała pocztę
Odpowiedz
Dobrze mail()
po prostu zwraca wartość boolowską w zależności od tego, czy wiadomość została pomyślnie zaakceptowana do dostarczenia. Z php.net stronie:
Zwraca TRUE jeśli poczta została pomyślnie przyjęta na dostawę, fałszywe inaczej.
Ważne jest, aby pamiętać, że tylko dlatego, że wiadomość została przyjęta do dostarczenia , NIE oznacza to, że poczta faktycznie dotrze do docelowego miejsca docelowego .
Można przetestować, czy nie została "wysłana", jednak sprawdzenie, czy została dostarczona, to inna historia.
elektronicznej() zwraca true robi oznacza, że wiadomość e-mail została pomyślnie przesłana. możesz odzyskać wiadomość "brak dostarczenia poczty" z serwera, który odbiera e-mail (np. brak takiej nazwy użytkownika) po kilku minutach – jondinham
Myślę, że to właśnie powiedziałem ?! –
o tak, masz rację :) +1 – jondinham
z docs.
„zwraca prawdę, jeśli poczta została pomyślnie przyjęta na dostawę, FAŁSZ inaczej
Ważne jest, aby pamiętać, że tylko dlatego, że poczta została przyjęta na dostawę , NIE oznacza to, że poczta rzeczywiście dotrze do zamierzonego celu. "
Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.
Sama funkcja mail() po prostu informuje, że skonfigurowany adres e-mail jest prawidłowy i zostanie wysłany do mojego serwera poczty e-mail.
Musisz sprawdzić osobno, czy adres e-mail jest zgodny z prawem. Dobry artykuł można znaleźć: here
Jeśli te dwie metody nie działają dobrze, możesz użyć metody "spamu" przy użyciu obrazów i plików dziennika serwera.
Zgodnie Ben odpowiadać powodzeniem można sprawdzić dostawa e-mail jak poniżej
$result = mail('[email protected]', 'Test Subject', $message);
if(!$result) {
echo "Error";
} else {
echo "Success";
}
Dla lepszego efektu można użyć PHPMailer. Kliknij poniższy link, aby uzyskać szczegółową dokumentację programu PHPMailer.
http://phpmailer.worxware.com/index.php?pg=tutorial
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
Dzięki za link Chauhan. – Sunny
Można użyć $_SERVER['REMOTE_ADDR']
w PHP otrzymywać zdalny adres IP użytkownika.
Zastosowanie tak:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
echo "User's IP address is: ".$ip;
?>
- 1. poczta php bcc wielu adresatów
- 2. Poczta PHP() - Jak ustawić priorytet?
- 3. uwierzytelniania php poczta
- 4. Najlepsza poczta PHP klasa
- 5. Poczta PHP: Co robi -f?
- 6. Jak sprawdzić, czy Ci pomyślnie wstawił dane
- 7. Jak można sprawdzić, czy plik php został pomyślnie dołączony?
- 8. Jak określić, kiedy kwerenda została wykonana pomyślnie w PHP PDO?
- 9. funkcja bezpieczeństwa i poczta() w php
- 10. ifstream: sprawdź czy otwarto pomyślnie
- 11. Jak sprawdzić, czy wiadomość została pomyślnie wysłana?
- 12. Rozpoznanie, która zakładka wysłała zapytanie
- 13. Jak utworzyć pocztę SMTP?
- 14. Jak przetestować program planowania w php
- 15. Jak określić w PHP, że poczta() powinna być wysyłana za pomocą zewnętrznego serwera pocztowego?
- 16. Jak mogę wyłączyć pocztę GMail metr?
- 17. Jak przetestować JavaMailSender of Spring
- 18. Python jak sprawdzić, czy rekord wstawiony pomyślnie czy nie
- 19. Poczta zwraca wartość false
- 20. Poczta do bazy danych MySQL
- 21. Poczta PHP nie jest wysyłana, w jaki sposób mogę debugować?
- 22. Jak mogę pomyślnie skonfigurować Common.Logging?
- 23. Sprawdź, czy sp_send_dbmail zakończyło się pomyślnie
- 24. Jak mogę sprawdzić, czy wniosek jest poczta w Zend Framework
- 25. Sprawdź, czy wydruk został wykonany pomyślnie
- 26. Wysyłaj pocztę html za pomocą codeigniter
- 27. Ruby „Poczta” docs gem
- 28. Wysyłaj pocztę bez MFMailComposeViewController
- 29. Laravel wysyła oddzielną, wielokrotną pocztę bez użycia pętli foreach
- 30. Poczta ASP.net z przekierowaniem?
nie ma wyboru w inbulid funkcji php, aby wiedzieć, czy odbiorca otrzymał wiadomość lub nie, nawet nie możemy wykryć czy to ważne id elektronicznej lub nie – user1844933