Foros del Web » Programando para Internet » PHP »

Enviar mail con php

Estas en el tema de Enviar mail con php en el foro de PHP en Foros del Web. Hola,estoy intentando enviar un ail desde mi pagina php.Al principio lo intente con la funcion "mail",sin ningun exito :( despues buscando opciones por internet encontre ...
  #1 (permalink)  
Antiguo 03/05/2015, 11:37
 
Fecha de Ingreso: diciembre-2014
Mensajes: 9
Antigüedad: 9 años, 4 meses
Puntos: 0
Enviar mail con php

Hola,estoy intentando enviar un ail desde mi pagina php.Al principio lo intente con la funcion "mail",sin ningun exito :(
despues buscando opciones por internet encontre algo llamado php mailer.
que parece que me puede ser muy util.Pero he sido incapaz de descargarme los ficheros necesarios.Por ahi pone que se descargan de giyhub.Pero yendo a esa web no he visto la opcion para descargar los ficheros necesarios para usar php mailer.Podriais orientarme sobre este tema de enviar mails?
muchas gracias.
un saludo
  #2 (permalink)  
Antiguo 03/05/2015, 12:02
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Enviar mail con php

Código PHP:
Ver original
  1.  
  2. $asunto = 'Aqui el asunto del email';
  3.  
  4. $mensaje = 'Mensaje a enviar';
  5.  
  6. mail($para, $asunto, $mensaje);

Hay lo tienes.

Si necesitas más información sobre mail():

http://php.net/manual/es/function.mail.php

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #3 (permalink)  
Antiguo 03/05/2015, 14:38
 
Fecha de Ingreso: diciembre-2014
Mensajes: 9
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Enviar mail con php

Por lo que veo en la documentacion la linea que yo utilizo deberia enviar u email sencillo,no?
en mi fichero php tengo la siguiente linea
@mail("[email protected]", "prueba envio mail en php", $email_message);
No parece que sea obligatorio rellenar las cabeceras.La cosa es que el mail me sigue sin aparecer.
ideas,sugerencias por favor.
muchas gracias
un saudo
  #4 (permalink)  
Antiguo 04/05/2015, 01:01
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Enviar mail con php

Elimina el @, ya que eso oculta los errores y podras saber que error te muestra.

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #5 (permalink)  
Antiguo 04/05/2015, 06:00
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 13
Respuesta: Enviar mail con php

No te recomiendo utilizar la función mail() de php. Los envíos no son verificados y normalmente acaban en la carpeta de correo no deseado.

Hay una librería llamada SMTP muy completa que te permite hacerlo de forma segura:
Código PHP:
public function send_mail($to,$to_name,$body,$subject,){
    require(
'smtp/class.phpmailer.php');
    require(
'smtp/class.smtp.php');

    
$mail = new PHPMailer();
    
$mail->IsSMTP(); 
    
$mail->Host "smtp.mypage.com";    #SERVIDOR SMTP
    
$mail->From "[email protected]";    #CORREO ELECTRÓNICO ENVIANTE
    
$mail->FromName "MyPage";
    
$mail->Subject $subject;
    
$mail->MsgHTML($body);
    
$mail->AddAddress($to$to_name);
    
$mail->SMTPAuth true;
    
$mail->Username "[email protected]";    #CORREO ELECTRÓNICO ENVIANTE
    
$mail->Password "";    #CONTRASEÑA DEL CORREO
    
if(!$mail->Send()) {
        return 
false;
    }else{
        return 
true;
    }
    

  #6 (permalink)  
Antiguo 04/05/2015, 11:21
 
Fecha de Ingreso: diciembre-2014
Mensajes: 9
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Enviar mail con php

Muchas gracias,esa es la libreria PHP Mailer,lo que pasa es que soy incapaz de descargarla de github tanto el fichero phpmailer.php como el smtp.php.podrias por favor indicarme como descargarlos?
Un saludo
  #7 (permalink)  
Antiguo 04/05/2015, 11:28
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Enviar mail con php

Puedes instalarla mediante composer(es lo recomendable) o desde el proyecto de lado derecho esta ubicada una liga que dice Download Zip.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 04/05/2015, 12:35
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Enviar mail con php

Y el Github correcto, es este: PHPmailer.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #9 (permalink)  
Antiguo 04/05/2015, 12:44
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 13
Respuesta: Enviar mail con php

Cita:
Iniciado por josexabi Ver Mensaje
Muchas gracias,esa es la libreria PHP Mailer,lo que pasa es que soy incapaz de descargarla de github tanto el fichero phpmailer.php como el smtp.php.podrias por favor indicarme como descargarlos?
Un saludo

https://github.com/PHPMailer/PHPMail...ive/master.zip
  #10 (permalink)  
Antiguo 05/05/2015, 17:52
 
Fecha de Ingreso: agosto-2009
Ubicación: Durango, México
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Enviar mail con php

Realice el siguiente código para tratar de enviar un archivo creado con fpdf pero no me funciona alguien que me pueda dar una mano.

Saludos y gracias

Código PHP:
require ('../scripts/PHPMailer-master/class.phpmailer.php');
require (
'../scripts/PHPMailer-master/class.smtp.php');

//Se crea el formato de correo a Enviar
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->Host="MI HOST";
$mail->From="MI DIRECCION DE CORREO";
$mail->FromName="RED Durango - Pólizas";
$mail->Subject='Póliza de Servicios ' $poliza;
$mail->MsgHTML('Le adjunto su poliza de Servicios');
$mail->AddAddress('LA DIRECCION A LA QUE LO ENVIARE');
$mail->SMTPAuth=true;
$mail->Username="MI USURAIO DEL CORREO";
$mail->Password="MI PASSWORD DEL CORREO";
$doc=$pdf->Output("temporal/".$poliza.".pdf","f");
$mail->AddStringAttachment($doc'/temporal/' .$poliza.'.pdf''base64''application/pdf');
$mail->Send();
if(!
$mail->Send()) {
      echo 
"Error al enviar el archivo!" $mail->Error();
} else {
      
$pdf->Output();

Trate de quitar las líneas que utilizo para adjuntar el archivo pero me sigue mandando el error de pagina con errores de programación y quitando toda la parte que acabo de poner si me funciona el generador del pdf

Última edición por reddurango; 05/05/2015 a las 17:57 Razón: poner cogigo php
  #11 (permalink)  
Antiguo 06/05/2015, 02:08
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Enviar mail con php

Cita:
Iniciado por reddurango Ver Mensaje
Realice el siguiente código para tratar de enviar un archivo creado con fpdf pero no me funciona alguien que me pueda dar una mano.

Saludos y gracias

Código PHP:
require ('../scripts/PHPMailer-master/class.phpmailer.php');
require (
'../scripts/PHPMailer-master/class.smtp.php');

//Se crea el formato de correo a Enviar
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->Host="MI HOST";
$mail->From="MI DIRECCION DE CORREO";
$mail->FromName="RED Durango - Pólizas";
$mail->Subject='Póliza de Servicios ' $poliza;
$mail->MsgHTML('Le adjunto su poliza de Servicios');
$mail->AddAddress('LA DIRECCION A LA QUE LO ENVIARE');
$mail->SMTPAuth=true;
$mail->Username="MI USURAIO DEL CORREO";
$mail->Password="MI PASSWORD DEL CORREO";
$doc=$pdf->Output("temporal/".$poliza.".pdf","f");
$mail->AddStringAttachment($doc'/temporal/' .$poliza.'.pdf''base64''application/pdf');
$mail->Send();
if(!
$mail->Send()) {
      echo 
"Error al enviar el archivo!" $mail->Error();
} else {
      
$pdf->Output();

Trate de quitar las líneas que utilizo para adjuntar el archivo pero me sigue mandando el error de pagina con errores de programación y quitando toda la parte que acabo de poner si me funciona el generador del pdf
Y que tiene que ver con lo que pregunto el usuario?
Deberias abrir un nuevo hilo, por el buen funcionamiento y el orden en el foro.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #12 (permalink)  
Antiguo 10/05/2015, 19:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 6 meses
Puntos: 0
Como envio un mail con copia a otro correo

este es el scrip y quiero que llegue con copia a otro mail

<?php

// Se muestra esta pag despues de enviado el correo
$goto_after_mail = "index.html";

// use both value's from your form
$from_mail = $_REQUEST['jMAIL'];
$from_name = $_REQUEST['aNOMBRE'];

$header = "From: \"$from_name\" <$from_mail>\r\n";
$header = "Cc: \"$from_name\" <$from_mail>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";

//your mailsubject incl. current date
$subject = "Formulario Web - Artistika";

$body .= "Asunto : " . $_REQUEST['sASUNTO'] . "\r\n";
$body .= "Nombres y Apellidos : " . $_REQUEST['aNOMBRE'] . "\r\n";
$body .= "Mail de contacto : " . $_REQUEST['jMAIL'] . "\r\n";
$body .= "Tus Comentarios : " . $_REQUEST['pTEXTO'] . "\r\n";

if (mail("[email protected]", $subject, $body, $header)) {
header("Location: ".$goto_after_mail);
}
?>
  #13 (permalink)  
Antiguo 11/05/2015, 01:16
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Como envio un mail con copia a otro correo

Cita:
Iniciado por cornejo6 Ver Mensaje
este es el scrip y quiero que llegue con copia a otro mail

<?php

// Se muestra esta pag despues de enviado el correo
$goto_after_mail = "index.html";

// use both value's from your form
$from_mail = $_REQUEST['jMAIL'];
$from_name = $_REQUEST['aNOMBRE'];

$header = "From: \"$from_name\" <$from_mail>\r\n";
$header = "Cc: \"$from_name\" <$from_mail>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";

//your mailsubject incl. current date
$subject = "Formulario Web - Artistika";

$body .= "Asunto : " . $_REQUEST['sASUNTO'] . "\r\n";
$body .= "Nombres y Apellidos : " . $_REQUEST['aNOMBRE'] . "\r\n";
$body .= "Mail de contacto : " . $_REQUEST['jMAIL'] . "\r\n";
$body .= "Tus Comentarios : " . $_REQUEST['pTEXTO'] . "\r\n";

if (mail("[email protected]", $subject, $body, $header)) {
header("Location: ".$goto_after_mail);
}
?>
Abre otro hilo, no tiene nada que ver con la pregunta principal.
Es tan simple como añadir otro mail.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #14 (permalink)  
Antiguo 20/05/2015, 09:36
 
Fecha de Ingreso: diciembre-2014
Mensajes: 9
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Enviar mail con php

Hola consegui por fin descargarme la libreria php Mailer.mi codigo que envia el mail es e es el siguiente:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = " smtp.gmail.com"; #SERVIDOR SMTP
$mail->From = "[email protected]"; #CORREO ELECTRÓNICO ENVIANTE
$mail->FromName = "Consultas";
$mail->Subject = "consulta para rosa";
$mail->MsgHTML("este es la primera consulta");
$mail->AddAddress("[email protected]", "");
$mail->SMTPAuth = true;
$mail->Username = "[email protected]"; #CORREO ELECTRÓNICO ENVIANTE
$mail->Password = "xxxxxXl1"; #CONTRASEÑA DEL CORREO
if(!$mail->Send()) {

echo "Ha habido algun error al enviar el mail";
return false;
}else{
echo " mail enviado con exito";
return true;
}
La cosa es que la funcion me devuelve false y el mail no se envia.Como puedo saber cual es el problema?
veis algun error en el codigo?
muchas gracias

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 14:35.