Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110

    Funzione Mail() restituisce sempre true

    Ciao a tutti!
    Ho notato che la funzione Mail() di PHP mi restituisce true anche quando non invia il messaggio.

    Sto provando una pagina in locale su server apache di XAMPP e non ho settato nessun server di posta in uscita (quindi è normale che non invii nulla) ma allora mi chiedo....

    Se non invia nulla (mi da anche il warning: : mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\ADG\phpFiles\accetta.php on line 53) perchè la funzione restituisce lo stesso true?

    A me serve poter sapere se ho inviato o meno l'email...e così non ci riesco...

    Grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    provato, sembra funzionare, a me ritorna correttamente false con il tuo stesso errore.

    codice:
    if (mail('mail@gmail.com', 'My Subject', "message") == true){
        echo 'true';
    }else {
        echo 'false'; 
    }
    oppure :

    codice:
    $res = mail('123@gmail.com', 'My Subject', "message") == true ? 'true' : 'false'; 
    echo $res;
    Ultima modifica di ninja72; 22-09-2020 a 20:20

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    ...

    A me serve poter sapere se ho inviato o meno l'email...e così non ci riesco...

    Grazie a tutti!
    Ricorda che la funzione mail()
    Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

    It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination.
    Ti dice true se la mail viene affidata al mail server per l'invio, non ti dice se la mail viene effettivamente recapitata al destinatario, quello che poi fa il mail server dell'email è sconosciuto alla funzione mail().

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.