• User

    Provider e ricezione mail

    Buon giorno, vorrei sapere cortesemente se c'è uno script per l'invio delle e-mail che è valido per tutti i provider, mi spiego.
    Ho questo script per l'invio delle mail:

    
    <?php
            $destinatari  = "[email protected]";
            $oggetto = "Segnalazione ad Azienda: Azienda agricola";
            $messaggio = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'
                        .'<html>'
                        .'    <head>'
                        .'        <title>Conferma ricezione della Vostra Registrazione del '.date("Y-m-d G:i:s").' al sito Azienda Agricola</title>'
                        .'        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'
                        .'    </head>'
                        .'    <body>';
    
                        if($Update != "" || $Insert!=""){
                            if($Update=="1"){
                                $messaggio .='    <p>I dati sono stati aggiornati in data '.date("Y-m-d G:i:s").'.</p>';
                            }
                            else{
                                $messaggio .='    <p>La Vostra Registrazione del '.date("Y-m-d G:i:s").' è andata a buon fine.</p>';
                                $messaggio .='    <p>
                                                    Per confermare la registrazione deve cliccare qui Conferma registrazione.
                                                  </p>';
                            }
                        }
                        else{
                            $messaggio .='<p>La Vostra Registrazione del '.date("Y-m-d G:i:s").' è stata cancellata.</p>';                        
                        }
                        
            $messaggio .='<p>Un cordiale saluto.</p>.'
                        .'    </body>'
                        .'</html>'
                        .'';
    
            /* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
            $intestazioni = "";
            $intestazioni .= "MIME-Version: 1.0\r\n";
            $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
            $intestazioni .= "From: Azienda Agricola <[email protected]>\r\n";
    
            /* ed infine l'invio */
            if(isset($_SESSION['verificaInvioMail'])){
                if(@mail($destinatari, $oggetto, $messaggio, $intestazioni)) {
                    $_SESSION['verificaInvioMail'] = "1";
                    if($Update == "1"){
                        echo "DATI AGGIORNATI CON SUCCESSO - EMAIL INOLTRATA CON SUCCESSO";
                    }
                    elseif($Insert == "1"){
                        echo "LE ABBIAMO INVIATO UNA MAIL PER CONFERMARE LA REGISTRAZIONE - EMAIL INOLTRATA CON SUCCESSO";
                    }
                    else{
                        echo "UTENTE CANCELLATO CON SUCCESSO - EMAIL INOLTRATA CON SUCCESSO";                    
                    }
                }
                else{
                    echo "Problemi nell'invio della mail di conferma <strong>Registrazione</strong>!Controlla eventualmente nella tua casella di posta se ti è arrivata la nostra mail per coinfermare la registrazione.";
                }    
            }    
            else{
                echo "OPERAZIONE GIA' ESEGUITA ED EMAIL GIA' INOLTRATA";
                $_SESSION['verificaInvioMail'] = "";
            }
    ?>
    
    ```Ho problemi nella ricezione della mail con questi provider:
    Virgilio, Yahoo, rocketmail(yahoo) e credo anche Fastweb
    
    Vorrei sapere se devo inserire un'altro parametro per risolvere e poter dare l'opportunità a tutti i provider di ricevere le mie email.
    Grazie e buona giornata.

  • Consiglio Direttivo

    Ciao Antagonia. 🙂

    Sicura che le mail non vengano ricevute? Potrebbe essere che il filtro anti-spam del mail-server blocchi il tutto?

    Alcuni mail-server non solo ti bloccano sull'immediato la ricezione di mail ritenute spam, ma tramite POP3 non ti fanno di default scaricare quanto è contenuto nella cartella SPAM/Indesiderata.
    A me è successo con altro provider di non ricevere mail per questo motivo, ma connettendomi via Web alla casella mail quelli che lui riteva SPAM eran belli che presenti, ma non scaricati dal mio client (difatti son passato all'IMAP). 😉

    Farei una prova di questo tipo e poi proverei a mandare anche una semplice mail non HTML. 😉


  • User

    Scusa l'ignoranza, inviare e-mail tramite IMAP?
    Cioè?
    Grazie per la risposta. 😄


  • Consiglio Direttivo

    Scusa me, mi sarò espresso male. Per ovviare al problema con quel tipo di provider scarico la posta tramite IMAP (http://it.wikipedia.org/wiki/Internet_Message_Access_Protocol) e non POP3.
    😉

    Diversamente dovrei disabilitare o riconfigurare l'antispam dalla Webmail per fare in modo che sia il mio client a decidere cosa è SPAM e cosa non lo è, ma scaricare comunque sul mio PC tutto così da poter eventualmente correggere eventuali errori di riconoscimento.

    Io proverei, se già non lo hai fatto, a creare un account per uno di quei provider, mandarmi in quel modo una mail e poi accedendo alla Webmail, non scaricando la posta dal client, controllare che la mail non sia finita in SPAM.

    Se lo è allora bisogna vedere che tipologia di header vogliono quei provider per non considerarti SPAM. 😉


  • Moderatore

    E' un problema noto.
    Puoi inviare delle email attraverso servizi web che garantiscono, anche se non al 100% di bypassare il servizio antispam.
    Ovviamente le tue mail non devono essere indesiderate. Il servizio ha un costo, anche se minimale, ma permettono sempre di fare dei test gratuiti.
    Guarda qui.