Visualizzazione risultati 1 fino 20 di 20
Like Tree1Likes
  • 1 Post By alemoppo

Discussione: PHP Mailer

  1. #1
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito PHP Mailer

    Salve a tutti, vorrei provare ad utilizzare PHP mailer per inviare una mail automatica ma non riesco proprio a capire perchè continuo ad ottenere sempre lo stesso errore. Girovagando per vari siti ho letto questo codice di esempio
    Codice PHP:
    <?php

    require("/libs/PHPMailer-master/src/PHPMailer.php");
    require(
    "/libs/PHPMailer-master/src/SMTP.php");

    $mail = new PHPMailer\PHPMailer\PHPMailer();
    $mail->IsSMTP(); // enable SMTP

    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true; // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
    $mail->Host = "smtp.gmail.com";
    $mail->Port = 465; // or 587
    $mail->IsHTML(true);
    $mail->Username = "xxxxxx";
    $mail->Password = "xxxx";
    $mail->SetFrom("xxxxxx@xxxxx.com");
    $mail->Subject = "Test";
    $mail->Body = "hello";
    $mail->AddAddress("xxxxxx@xxxxx.com");

    if(!
    $mail->Send()) {
    echo
    "Mailer Error: " . $mail->ErrorInfo;
    } else {
    echo
    "Message has been sent";
    }
    ?>
    Con questa configurazione ogni volta che lancio la pagina ottengo questo errore:
    Codice HTML:
    2018-10-29 23:27:13 SERVER -> CLIENT: 
    2018-10-29 23:27:13 SMTP NOTICE: EOF caught while checking if connected
    SMTP Error: Could not connect to SMTP host.
    SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    Qualcuno può aiutarmi?

    Grazie!
    Ultima modifica di locali : 30-10-2018 alle ore 01.27.36

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Su AlterVista non è possibile usare PHPMailer, in quanto le porte usate da SMTP sono bloccate.
    Le uniche alternative sono la funzione mail o servizi esterni utilizzabili tramite API su HTTP, ad esempio SendGrid (per il quale alemoppo ha scritto un tutorial).

    I suggerimenti che do più spesso:


  3. #3
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Grazie per la risposta! Avevo già provato la funzione mail() e attualmente funziona ma il problema è che le mail finiscono nello spam. Ci sono soluzioni o l'unica alternativa è usare SendGrid?

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Puoi provare ad evitare che le email inviate attraverso la funzione mail siano classificate come spam specificando alcuni header, ad esempio from o reply-to. Questo in genere migliora la situazione ma non offre garanzie.

    L'alternativa sono appunto servizi online che espongano API basate su HTTP. Conosco solo SendGrid, ma è probabile che ce ne siano anche altri.

    I suggerimenti che do più spesso:


  5. #5
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Ho provato a seguire il tutorial che mi hai linkato e funziona tutto perfettamente con SendGrid. Il problema è che utilizzando il file .php presente nell'esempio del tutorial la mail finisce lo stesso nello spam. Sbaglio io qualcosa?

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Se l'email viene inviata vuol dire che il codice è scritto correttamente.
    Se anche con SendGrid l'email viene classificata come spam, ritengo che la causa più probabile sia che è il suo contenuto ad essere identificato come spam. Su questo non ci si può fare molto, a parte modificare il contenuto.

    I suggerimenti che do più spesso:


  7. #7
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Ho lasciato tutto come nell'esempio come contenuto e finisce lo stesso in spam? Sto provando solo con gmail. Cosa si può ancora modificare?

  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Dovresti provare ad inviare un messaggio con un contenuto verisimile, anziché quello dell'esempio.

    I suggerimenti che do più spesso:


  9. #9
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Ho provato anche con dei contenuti di esempio ma continua a finire nello spam.
    Ci sono certe "regole" da seguire per fare in modo che la mail non finisca nello spam?

  10. #10
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    A parte gli header di cui abbiamo già parlato e le normali regole del buonsenso no.

    I filtri antispam non sono neanche lontanamente vicini all'essere "esatti" o "corretti", ma quanto descrivi resta comunque piuttosto insolito. Può darsi che le precedenti prove fallite che hai effettuato verso la tua casella di posta gmail abbiano aggiornato il suo criterio di classificazione dello spam, in modo che ora vengano classificate tutte in modo errato. Se ne hai modo dovresti provare anche con una casella di posta diversa.

    I suggerimenti che do più spesso:


  11. #11
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Se gli header sono giusti poiché siamo in server condivisi (probabilmente l'IP per spedire l'e-mail è stato considerato precedentemente come spam) cioè più utenti utilizzano lo stesso IP ma se non se ne fatto buon uso finirà nello spam. (Riferito alla funzione mail di php)
    Ultima modifica di darbula : 31-10-2018 alle ore 16.41.34

  12. #12
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Ho provato anche con un'altra casella di posta ma succede sempre la stessa cosa.
    Si può risolvere?

  13. #13
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ricapitolando: hai cambiato header, servizio, destinatario.
    L'unica altra cosa su cui puoi intervenire è il contenuto del messaggio!

    I suggerimenti che do più spesso:


  14. #14
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Posto qui il contenuto completo della mail:

    Codice HTML:
    $email->setFrom("noreply@altervista.com", "Matematica");    # <--- indirizzo mittente
        $email->setSubject("Benvenuto!");        # <--- oggetto email
        $email->addTo("emailDestinatario", "Matematica");        # <--- indirizzo destinatario
    
    
     	$email->addContent("text/plain", "Congratulazioni,
    
    	hai finalmente creato il tuo nuovo account.
            Grazie per esserti iscritto, qui di seguito puoi trovare le tue credenziali di accesso alla gara.
            La tua password è: Topolino
        
            In bocca al lupo per la gara, vinca il migliore!"); # <--- testo della email
    Non mi sembra ci sia nulla di strano ma non sono esperto e quindi lascio giudicare a voi.

  15. #15
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,167

    Predefinito

    Prova a sostituire:
    Codice:
    $email->setFrom("noreply@altervista.com", "Matematica");
    Il tuo indirizzo alias di AlterVista (nota il @altervista.org e non .com).

    Ciao!
    mzanella likes this.

  16. #16
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Nulla nemmeno così...

  17. #17
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,167

    Predefinito

    Ho provato con il contenuto (oggetto, etc) identici al tuo ed effettivamente gmail me lo ha recapitato in spam.

    Però modificando l'email del mittente mi è arrivata correttamente, non in spam. Sicuro di aver provato correttamente? Altrimenti non mi vengono altre idee sul perché arrivi in spam.

    Ciao!

  18. #18
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Tu come mittente hai usato l'alias di altervista? Perchè io provando con quello mi finisce comunque in spam

  19. #19
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,167

    Predefinito

    Sì. Ho riprovato ora addirittura con test@example.com e non arriva in spam! Prova così:

    Codice PHP:
    $email = new \SendGrid\Mail\Mail();
    $email->setFrom("test@example.com", "Example User");
    $email->setSubject("Benvenuto!");
    $email->addTo("TUAEMAIL@gmail.com", "Matematica");
    $email->addContent("text/plain", "Congratulazioni,

    hai finalmente creato il tuo nuovo account.
    Grazie per esserti iscritto, qui di seguito puoi trovare le tue credenziali di accesso alla gara.
    La tua password è: Topolino

    In bocca al lupo per la gara, vinca il migliore!"
    );
    $email->addContent(
    "text/html", "Congratulazioni,

    hai finalmente creato il tuo nuovo account.
    Grazie per esserti iscritto, qui di seguito puoi trovare le tue credenziali di accesso alla gara.
    La tua password è: Topolino

    In bocca al lupo per la gara, vinca il migliore!"
    );
    Ovviamente sotituisci "TUAEMAIL".

    Ciao!

  20. #20
    locali non è connesso Neofita
    Data registrazione
    07-03-2014
    Messaggi
    12

    Predefinito

    Non capisco come sia possibile ma a me finisce in spam sia su gmail sia su outlook

Regole di scrittura

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