enviar correo electrónico a través de la función de correo php se convierte en spam [duplicado]

Resuelto Dinesh Nagar asked hace 54 años • 6 respuestas

Tengo problemas al enviar correo a mi bandeja de entrada (cuenta de Gmail), pero cada vez va a la carpeta de correo no deseado.

Aquí está el fragmento de código.

     //$ticketDetail is array which contain required information to send.
       sendOwnershipEmail('[email protected]', $ticketDetail);
    
       function sendOwnershipEmail($email, $ticketDetail) {
            $param = new stdClass();
   

$param->content = "<div>
    <div><b>".$ticketDetail[0]['ticket_number']."</b></div><br/>
    <div><img src='".$ticketDetail[0]['image_path']."'/></div><br/>
    <div>Ticket with ticket number ".$ticketDetail[0]['ticket_number']." has been requested for tranfer from <div/>
    <div>".$ticketDetail[0]['oldDepartment']." to ".$ticketDetail[0]['newDepartment']." Department <div/>
  </div>";
            
            $param->sendTo = $email;
            $param->subject = "Request for Department transfer";
            
        sendMailFunction($param);
    }
    
    
    function sendMailFunction($param) {
            $to = $param->sendTo;
            $subject = $param->subject;
            $headers = 'MIME-Version: 1.0' . "\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
            $headers .= 'From: [email protected]' . "\r\n";
            $message = "<html><head>" .
                   "<meta http-equiv='Content-Language' content='en-us'>" .
                   "<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>" .
                   "</head><body>" .$param->content.        
                   "<br><br></body></html>";
          mail($to, $subject, $message, $headers);
    }

Y he intentado muchas cosas, como configurar encabezados como Responder a, Ruta de retorno, etc., pero cada vez se convierte en spam.

¿Puedes averiguar cuál es el problema?

Dinesh Nagar avatar Jan 01 '70 08:01 Dinesh Nagar
Aceptado

El problema es simple: la función PHP-Mail no utiliza un servidor SMTP bien configurado.

Hoy en día, los clientes y servidores de correo electrónico realizan comprobaciones masivas en el servidor de envío de correos electrónicos, como búsquedas de DNS inversas, listas grises y demás. Todas estas pruebas fallarán con la función php mail(). Si estás usando una IP dinámica, es aún peor.

Utilice PHPMailer-Class y configúrelo para usar smtp-auth junto con un servidor SMTP dedicado y bien configurado (ya sea local o remoto) y sus problemas desaparecerán.

https://github.com/PHPMailer/PHPMailer

dognose avatar Aug 14 '2013 10:08 dognose

Si envía esto a través de su propio servidor de correo, es posible que deba agregar un encabezado "Remitente" que contendrá una dirección de correo electrónico de su propio dominio. Es probable que Gmail envíe spam al correo electrónico porque la dirección DE es una dirección de Gmail pero no ha sido enviada desde su propio servidor.

Patrick avatar Aug 14 '2013 10:08 Patrick