Foros del Web » Programando para Internet » PHP »

Problema enviar con gmail a través de php

Estas en el tema de Problema enviar con gmail a través de php en el foro de PHP en Foros del Web. Hola, Estoy haciendo mis pinitos con php y estoy tocando el tema del envío de emails. Estoy probando con mi ordenador de sobremesa y tengo ...
  #1 (permalink)  
Antiguo 11/02/2013, 10:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema enviar con gmail a través de php

Hola,
Estoy haciendo mis pinitos con php y estoy tocando el tema del envío de emails.
Estoy probando con mi ordenador de sobremesa y tengo instalado apache donde ejecuto mi código php.
El problema lo tengo al configurar el php.ini para enviar emails, tengo puesto:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 25

Pero cuando envío el correo el navegador me da este codigo de error:

Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. m6sm34286491wic.2 - gsmtp in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\procesarcomentario.php on line 9

No se si tengo que ejecutar un comando previo en el comando php para habilitar la trasmisión seguro, lo cual tampoco se si tengo que hacerlo así a la fuerza. O que no haya configurado correctamente el php.ini. Si podéis echarme un cable please.
  #2 (permalink)  
Antiguo 11/02/2013, 11:11
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Problema enviar con gmail a través de php

Hola no se si también has configurado el

SMTP username: GMail Username
SMTP password: GMail Password

y cambia el smtp_port por 465 ó 587 a ver si ese es el error, ademas verifica si tu firewall no esta bloqueando esos puertos.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 11/02/2013, 16:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema enviar con gmail a través de php

He probado todo eso y me sigue saliendo el mismo mensaje. También he anulado el firewall y tampoco.
Si no te importa probarlo cuando tengas un ratín y decirme donde está el kit de la cuestión me harías un gran favor.
La historia es enviar un correo con la función mail a través de gmail.
El mensajito de error sale mucho por google, por lo que mucha gente se ha chocado con ello pero no lo he visto solucionado por nadie.
Muchas gracias por todo.
  #4 (permalink)  
Antiguo 11/02/2013, 17:15
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Problema enviar con gmail a través de php

verifica que php tenga soporte para TSL o SSL, mira en php.ini la extension php_openssl habilitala

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 12/02/2013, 04:23
 
Fecha de Ingreso: diciembre-2012
Mensajes: 75
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Problema enviar con gmail a través de php

Yo uso phpMailer , ahora los envio desde mi server, pero en su momento use gmail. Te paso el codigo espero que te ayude.

Código PHP:
    <?
include ("phpMailer/class.phpmailer.php"); //Necesita estos dos archivos para furrular
include ("phpMailer/class.smtp.php");      // este en concreto es por si queremos utilizar un server smtp para sendMail no hace falta.


 
$mail = new PHPMailer(true); // Declaramos un nuevo correo, el parametro true significa que mostrara excepciones y errores.
 
$mail->IsSMTP(); // Se especifica a la clase que se utilizará SMTP
 
try {
//------------------------------------------------------
  
$correo_emisor="[email protected]";     //Correo a utilizar para autenticarse
  //con Gmail o en caso de GoogleApps utilizar con @tudominio.com
  
$nombre_emisor="Tu nombre";               //Nombre de quien envía el correo
  
$contrasena="mipass";          //contraseña de tu cuenta en Gmail
  
$correo_destino="[email protected]";      //Correo de quien recibe
  
$nombre_destino="Fulanito";                //Nombre de quien recibe
//--------------------------------------------------------
  
$mail->SMTPDebug  2;                     // Habilita información SMTP (opcional para pruebas)
                                             // 1 = errores y mensajes
                                             // 2 = solo mensajes
  
$mail->SMTPAuth   true;                  // Habilita la autenticación SMTP
  
$mail->SMTPSecure "ssl";                 // Establece el tipo de seguridad SMTP
  
$mail->Host       "smtp.gmail.com";      // Establece Gmail como el servidor SMTP
  
$mail->Port       465;                   // Establece el puerto del servidor SMTP de Gmail
  
$mail->Username   $correo_emisor;         // Usuario Gmail
  
$mail->Password   $contrasena;           // Contraseña Gmail
  //A que dirección se puede responder el correo
  
$mail->AddReplyTo($correo_emisor$nombre_emisor);
  
//La direccion a donde mandamos el correo
  
$mail->AddAddress($correo_destino$nombre_destino);
  
//De parte de quien es el correo
  
$mail->SetFrom($correo_emisor$nombre_emisor);
  
//Asunto del correo
  
$mail->Subject 'Probando';
  
//Mensaje alternativo en caso que el destinatario no pueda abrir correos HTML
  
$mail->AltBody 'para ver el mensaje necesita un cliente de correo compatible con HTML.';
  
//El cuerpo del mensaje, puede ser con etiquetas HTML
  
$mail->MsgHTML("Texto del mensaje de prueba");
  
//Enviamos el correo
  
$mail->Send();
  echo 
"El mensaje se ha enviado correctamente";
} catch (
phpmailerException $e) {
  echo 
$e->errorMessage(); //Errores de PhpMailer
} catch (Exception $e) {
  echo 
$e->getMessage(); //Errores de cualquier otra cosa.
}

Etiquetas: gmail
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 14:26.