Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas al enviar correos a Gmail con PHP

Estas en el tema de Problemas al enviar correos a Gmail con PHP en el foro de PHP en Foros del Web. Tengo problemas para enviar correos a Gmail desde PHP. El codigo es el siguiente: Cita: <?php $email = '[email protected]'; $asunto = 'E-Mail HTML'; $codigohtml = ...
  #1 (permalink)  
Antiguo 12/03/2014, 05:49
 
Fecha de Ingreso: marzo-2014
Ubicación: Ceuta
Mensajes: 8
Antigüedad: 10 años, 1 mes
Puntos: 0
Sonrisa Problemas al enviar correos a Gmail con PHP

Tengo problemas para enviar correos a Gmail desde PHP.
El codigo es el siguiente:

Cita:
<?php
$email = '[email protected]';
$asunto = 'E-Mail HTML';
$codigohtml = "Content-type: text/html\r\n";
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";
mail($email,$asunto,$codigohtml,$cabeceras);
?>
No hay manera de recibir el correo por gmail, sin embargo si cambio $email por cualquier otro dominio el correo si lo envia perfectamente.
En cualquiera de los casos no me muestra ningún tipo de mensaje de error.

Desconozco si para enviar un correo a gmail las cabeceras han de ser distintas o es un problema de mi servidor. La pagina esta alojada en Arsys y no me han sabido contestar a mi problema.

Un saludo
  #2 (permalink)  
Antiguo 12/03/2014, 06:56
 
Fecha de Ingreso: abril-2013
Ubicación: venezuela
Mensajes: 92
Antigüedad: 11 años
Puntos: 1
Respuesta: Problemas al enviar correos a Gmail con PHP

utiliza phpmailer y te evitas esos problemas un ejemplo de php mailer para google seria este:

Código PHP:
Ver original
  1. require_once 'class.phpmailer.php';
  2.  
  3. class Mail
  4.  {
  5.      private $puerto;
  6.      private $userName;
  7.      private $password;
  8.      private $host;
  9.      private $mail;
  10.    
  11.      public function __construct(){
  12.          $this->puerto = 465;
  13.          $this->UserName = "[email protected]";
  14.          $this->password = "*****";
  15.          $this->host = "ssl://smtp.gmail.com";
  16.          $this->mail = new PHPMailer ();
  17.      }
  18.      
  19.      public function SenMail($userMail,$body,$FromName = '',$Subject = '')
  20.      {    
  21.          $this->mail -> From = $userMail;
  22.          $this->mail -> FromName = $FromName;
  23.          $this->mail -> AddAddress ($userMail);
  24.          $this->mail -> Subject = $Subject;
  25.          $this->mail -> Body = $body;
  26.          $this->mail -> IsHTML (true);
  27.    
  28.          $this->mail->IsSMTP();
  29.          $this->mail->Host = $this->host;
  30.          $this->mail->Port = $this->puerto;
  31.          $this->mail->SMTPAuth = true;
  32.          $this->mail->Username = $this->UserName;
  33.          $mail->Password = $this->password;
  34.          //$this->mail->AddAttachment("images/foto.jpg", "foto.jpg");
  35.      
  36.          if(!$this->mail->Send()){
  37.             throw new Exception('Error: ' . $this->mail->ErrorInfo);
  38.             return false;
  39.        
  40.          }else
  41.             return true;
  42.      }
  43.      
  44.      public function __destruct(){
  45.         unset($this);
  46.      }
  47.  
  48.  }
__________________
"Para el logro del triunfo es necesario pasar por las sendas de los sacrificios"
  #3 (permalink)  
Antiguo 12/03/2014, 09:30
 
Fecha de Ingreso: marzo-2014
Ubicación: Ceuta
Mensajes: 8
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas al enviar correos a Gmail con PHP

Solucionado el problema se ve que estaba en las cabeceras que han quedado de esta manera y lo recibo correctamente (eso si en el buzón de spam pero al menos lo recibo).

Código PHP:
Ver original
  1. $headers = "MIME-Version: 1.0\r\n";
  2. $headers .= "Content-type: text/plain; charset=utf-8\r\nContent-Transfer-Encoding: 8bit\r\nX-Priority: 1\r\nX-MSMail-Priority: High\r\n";
  3. $headers .= "From: $email_from\r\n" . "Reply-To: $email_from\r\n" . "X-Mailer: PHP/" . phpversion() . "\r\nX-originating-IP: \r\n";

Un saludo.

Etiquetas: mail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:07.