Visualizzazione risultati 1 fino 8 di 8
Like Tree1Likes
  • 1 Post By

Discussione: Invio Mail non funziona

  1. #1
    faceboksalbum non è connesso Neofita
    Data registrazione
    06-09-2016
    Messaggi
    3

    Predefinito Invio Mail non funziona

    Salve,

    sto facendo delle prove per verificare il funzionamento di invio mail, ma al momento non riesco a roicevere nessuna mail, nonostante non ci sia alcun errore.

    Potreste verificare se c'é qualche problema con l'invio automatico delle mail, utilizzando la funziona php mail()?

    Grazie

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,601

    Predefinito

    Hai controllato tra la posta indesiderata? Hai provato ad inviare ad una casella di posta di provider differente?

  3. #3
    hacking58 non è connesso Neofita
    Data registrazione
    12-12-2015
    Messaggi
    28

    Predefinito

    Ciao,
    Se usi gmail devi attivare "consenti a terze parti" per l'invio mail.
    Come?
    è semplice, se usi un invio mail che usa come provider GMAIL e usi metodi legali come "mail"/"password" allora devi consentirlo tramite gmail, altrimenti puoi usare script meno legali come:
    <?php
    // definisco mittente e destinatario della mail
    $nome_mittente = "Mio Nome";
    $mail_mittente = "mittente@sito.com";
    $mail_destinatario = "destinatario@sito.com";

    // definisco il subject ed il body della mail
    $mail_oggetto = "Messaggio di prova";
    $mail_corpo = "Questo è un messaggio di prova per testare la mia applicazione";

    // aggiusto un po' le intestazioni della mail
    // E' in questa sezione che deve essere definito il mittente (From)
    // ed altri eventuali valori come Cc, Bcc, ReplyTo e X-Mailer
    $mail_headers = "From: " . $nome_mittente . " <" . $mail_mittente . ">\r\n";
    $mail_headers .= "Reply-To: " . $mail_mittente . "\r\n";
    $mail_headers .= "X-Mailer: PHP/" . phpversion();

    if (mail($mail_destinatario, $mail_oggetto, $mail_corpo, $mail_headers))
    echo "Messaggio inviato con successo a " . $mail_destinatario;
    else
    echo "Errore. Nessun messaggio inviato.";
    ?>

  4. #4
    faceboksalbum non è connesso Neofita
    Data registrazione
    06-09-2016
    Messaggi
    3

    Predefinito

    Ciao,

    ho provato ad utilizzare lo script che mi hai passato.
    Il messaggio risulta inviato con successo, ma non ricevo nulla sulla mail.

    Ho provato ad inviare la mail sia ad un indirizzo di mail libero.it che ad un altro indirizzo hotmail.it
    Ho controllato anche lo Spam, ma non arriva nulla...

    Qualcuno riesce a fare un tentativo e verificare se lo script funziona e la mail viene correttamente inviata?

  5. #5
    magocarlos99 non è connesso Neofita
    Data registrazione
    30-01-2015
    Messaggi
    3

    Predefinito

    Ciao,
    il problema sta nel fatto che la funzione mail() di php tenta di inviare una mail con il server smtp locale (server che non c'è, poichè su un server altervista non si può installare).
    Lo script restituisce "mail inviata correttamente" perchè la funzione mail() non restituisce un errore poiché il suo lavoro lo ha fatto: ossia dire al server smtp locale di mandare la mail.
    Ma visto che il server non c'è la mail non verrà mai inviata.
    Quindi per mandare una mail dovrai usufruire di un altro server smtp come un server che si trova su una tua macchina, oppure un server come gmail, alice ecc.
    Per mandare le mail con una altro server ti serve la funzione PHPMailer che si trova in una libreria esterna (che quindi dovrai scaricare, mettere nella stessa cartella dello script e includere nello script).
    Buona fortuna.
    Carlo

    P.S. se usi gmail ricordati di andare nelle impostazioni del tuo account e permettere alle app meno sicure di accedere altrimenti rifiuterà l'accesso allo script.

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da magocarlos99 Visualizza messaggio
    Ciao,
    il problema sta nel fatto che la funzione mail() di php tenta di inviare una mail con il server smtp locale (server che non c'è, poichè su un server altervista non si può installare).
    Lo script restituisce "mail inviata correttamente" perchè la funzione mail() non restituisce un errore poiché il suo lavoro lo ha fatto: ossia dire al server smtp locale di mandare la mail.
    Ma visto che il server non c'è la mail non verrà mai inviata.
    Non so dove tu l'abbia letto, ma è falso. Su Altervista puoi usare benissimo mail() e infatti lo script qui sopra funziona perfettamente (appena provato)

    Piuttosto controlla che i messaggi inviati non siano finiti nello spam.

    P.S. Ecco il link al wiki di Altervista: Invio email tramite PHP
    Ultima modifica di stefanodurso : 08-09-2016 alle ore 15.43.00 Motivo: Aggiunto link
    karl94 likes this.

  7. #7
    faceboksalbum non è connesso Neofita
    Data registrazione
    06-09-2016
    Messaggi
    3

    Predefinito

    Ciao,

    altervista non consente la configurazione di server smtp esterni, quindi PHPMailer su altervista non funziona.
    Inoltre, fino a pochi giorni fa, ho sempre utilizzato la funzione mail() su altervista, e non ho mai avuto problemi ad inviare le mail.

    Per questo motivo chiedevo se qualcuno potrebbe fare un tentativo veloce e verificare se la mail viene ricevuta o no.

    Grazie mille comunque per il tuo suggerimento.

  8. #8
    Guest

    Predefinito

    Forse ti sei perso il mio messaggio precedente avendolo scritto contemporaneamente.
    Ti confermo che lo script funziona e l'email viene ricevuta immediatamente (su gmail, yahoo e fastweb)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •