Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Mail con funzione mail() riconosciute come spam

    Ciao a tutti ,

    vi scrivo per chiedervi supporto per il seguente problema :

    da anni utilizzo la funzione mail ( ) per spedire una e-mail automatica ogni qual volta un utente compila un registro on-line . Verso la fine di ottobre però Gmail ha cominciato a considerare quelle mail come spam , con il risultato che gli utenti hanno l'impressione di non ricevere più comunicazioni

    Qualcuno di voi sa cosa può essere intervenuto ? Lato mio non è cambiato assolutamente nulla .

    Ho provato a googleare in giro , ma non arrivo a nulla !!!

    VI RINGRAZIO IN ANTICIPO ..... e vi indico di seguito lo script che utilizzo :

    Codice PHP:
    $destinatario "[email protected]$destinatarimail , $mail_1$mail_2$mail_3";
    $mittente "Registro Interventi""<[email protected]>";
    $oggetto "Inserito nuovo documento";
    $messaggio =  '<!DOCTYPE html>
                        <html lang=3D"en">
                            <head> <meta http-equiv=3D "Content-Type"
                                    content=3D"text/html; charset=3Dutf-8" /> <meta name=3D"viewport" content=3D"
                                    width=3Ddevice-width, initial-scale=3D1.0"/>
                        
                            </head>
                        <body>
                  
      <table border="1" cellpadding="8" border-color : #000000;>
     
    ..........SEGUE  CORPO DELLA TABELLA HTML
     
       </table>
      </body>
    </html>'
    ;

    // Valorizzo le variabili relative all'allegato
    $allegato $_FILES['foto']['tmp_name'];
    $allegato_type $_FILES['foto']['type'];
    $allegato_name $_FILES['foto']['name'];

    // Creo altre due variabili ad uso interno
    $headers "From: " $mittente;
    $msg "";

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
      
    // Apro e leggo il file allegato
      
    $file fopen($allegato,'rb');
      
    $data fread($filefilesize($allegato));
      
    fclose($file);

      
    // Adatto il file al formato MIME base64 usando base64_encode
      
    $data chunk_split(base64_encode($data));

      
    // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      
    $semi_rand md5(time());
      
    $mime_boundary "==Multipart_Boundary_x{$semi_rand}x";
     
      
    // Aggiungo le intestazioni necessarie per l'allegato
      
    $headers .= "\nMIME-Version: 1.0\n";
      
    $headers .= "Content-Type: multipart/mixed;\n";
      
    $headers .= " boundary=\"{$mime_boundary}\"";

      
    // Definisco il tipo di messaggio (MIME/multi-part)
      
    $msg .= "This is a multi-part message in MIME format.\n\n";

      
    // Metto il separatore
      
    $msg .= "--{$mime_boundary}\n";

      
    // Questa è la parte "testuale" del messaggio
      //$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
     
        
    $msg .= "Content-Type: text/html; charset=\"UTF-8\"\n";
        
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      
    $msg .= $messaggio "\n\n";

      
    // Metto il separatore
      
    $msg .= "--{$mime_boundary}\n";

      
    // Aggiungo l'allegato al messaggio
      
    $msg .= "Content-Disposition: attachment; filename=\"{$allegato_name}\"\n";
      
    $msg .= "Content-Transfer-Encoding: base64\n\n";
      
    $msg .= $data "\n\n";

      
    // chiudo con il separatore
      
    $msg .= "--{$mime_boundary}--\n";
    }
    // se non è stato caricato alcun file
    // preparo un semplice messaggio testuale
    else
    {
     
    $msg $dascrivere;
                                                                                                                                    
                                                                                                                                                                                                           
    $headers "MIME-Version: 1.0\r\n";                                                                                                                                  
    $headers .= "From: Registro Interventi <[email protected]> \r\n";                                                     
    $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";                                                                               
    $headers .= "Content-Transfer-Encoding: 7bit\r\n";                                                                                                            
                                                                            
    }

    // Invio la mail

    if (mail($destinatario$oggetto$msg$headers))
    {
      echo 
    "<p>Mail inviata con successo!</p>";
    }else{
      echo 
    "<p>Errore!</p>";


  2. #2
    Se l'IP del server è finito in blacklist sarà difficile risolvere.
    Puoi provare a:

    - sostituire il codice usando una classe come SWIFT Mailer (se c'è qualcosa nel modo in cui crei il body del messaggio che fa attivare i filtri anti spam di Google, magari risolvi il problema)
    - usa un servizio come Amazon SES per l'invio delle mail in modo da aggirare l'eventuale blacklist dell'IP.

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 © 2021 vBulletin Solutions, Inc. All rights reserved.