Foros del Web » Programando para Internet » PHP »

Email php

Estas en el tema de Email php en el foro de PHP en Foros del Web. Hola compañeros estaria interesado en que este script php recogiera los datos de email, nombre y archivo adjunto de un formulario. Código PHP: <?php require( ...
  #1 (permalink)  
Antiguo 09/09/2009, 20:12
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Email php

Hola compañeros estaria interesado en que este script php recogiera los datos de email, nombre y archivo adjunto de un formulario.
Código PHP:
<?php
require("class.phpmailer.php");
require(
"class.smtp.php");
$msg "";
if (
$_POST['action'] == "send") {
    
$varname $_FILES['archivo']['name'];
    
$vartemp $_FILES['archivo']['tmp_name'];
    
    
$mail = new PHPMailer();
    
$mail->IsSMTP();
    
$mail->SMTPAuth true;
    
$mail->SMTPSecure "ssl";
    
$mail->Host "smtp.mail.yahoo.com";
    
$mail->Port 587;
    
$mail->Username "correoyahoo.es";
    
$mail->Password "password";
    
$mail->From "correoyahoo.es";
    
$mail->FromName "alguno";
    
$mail->Subject LICENCIAs;
    
$mail->AddAddress($_POST['destino']);
    if (
$varname != "") {
        
$mail->AddAttachment($vartemp$varname);
    }
    
$body "<strong>Mensaje</strong><br><br>hola<br>";
    
$mail->Body $body;
    
$mail->IsHTML(true);
    
$mail->Send();
    
$msg "Mensaje enviado correctamente";
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHP Email Attach</title>
<link href="mailattach.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center" class="descdet">
    <div class="borde">
    <strong class="subder">Env&iacute;ar Email con Adjuntos</strong><br>
    Ingresar los datos en el formulario. <br>
    <?php if ($msg != "") { ?><span class="conf"><?php echo $msg?></span><br><?php ?>
    <form action="mailattach.php" method="post" enctype="multipart/form-data">
      <p>      Destinatario<br>
      <input type="text" name="destino" size="50">
      Asunto<br>
      <input type="text" name="asunto" size="50">
      Adjunto<br>
      <input type="file" name="archivo"  size="32">
      Mensaje<br>
      <textarea name="mensaje" cols="47" rows="8" wrap="virtual" id="mensaje"></textarea>
      <input type="submit" name="btsend" class="boton" value="Enviar Email">
      <input type="hidden" name="action" value="send" />
      </p>
    </form>
    </div>
    </td>
  </tr>
</table>
</body>
</html>
Muchisimas gracias espero noticias pronto porque es un poco urgente!!!!
  #2 (permalink)  
Antiguo 09/09/2009, 20:20
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Email php

Del formulario que tenes en la misma pagina?

Ese apunta a mailattach.php , y lo que envies se recibirá ahi.

Siempre que recibas variables php, las recoges por su nombre:

$asunto = $_POST['asunto'];

etc.
  #3 (permalink)  
Antiguo 09/09/2009, 20:22
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Email php

bueno proba con esto, ojo con los datos del smtp esos son tuyos

Código PHP:
<?php
require("class.phpmailer.php");
require(
"class.smtp.php");
$msg "";
if (
$_POST['action'] == "send") {
    
$varname $_FILES['archivo']['name'];
    
$vartemp $_FILES['archivo']['tmp_name'];
    
    
$mail = new PHPMailer();
    
$mail->IsSMTP();
    
$mail->SMTPAuth true;
    
$mail->SMTPSecure "ssl";
    
$mail->Host "smtp.mail.yahoo.com";
    
$mail->Port 587;
    
$mail->Username "correoyahoo.es";
    
$mail->Password "password";
    
$mail->From "correoyahoo.es";
    
$mail->FromName "alguno";
    
$mail->Subject $_POST['asunto'];
    
$mail->AddAddress($_POST['destino']);
    if (
$varname != "") {
        
$mail->AddAttachment($vartemp$varname);
    }
    
$body "<strong>Mensaje</strong><br /><div>".$_POST['mensaje']."</div>";
    
$mail->Body $body;
    
$mail->IsHTML(true);
    if(
$mail->Send()){
    
$msg "Mensaje enviado correctamente";
}else{
$msg "error al enviar mensaje";
}
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHP Email Attach</title>
<link href="mailattach.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center" class="descdet">
    <div class="borde">
    <strong class="subder">Env&iacute;ar Email con Adjuntos</strong><br>
    Ingresar los datos en el formulario. <br>
    <?php if ($msg != "") { ?><span class="conf"><?php echo $msg?></span><br><?php ?>
    <form action="mailattach.php" method="post" enctype="multipart/form-data">
      <p>      Destinatario<br>
      <input type="text" name="destino" size="50">
      Asunto<br>
      <input type="text" name="asunto" size="50">
      Adjunto<br>
      <input type="file" name="archivo"  size="32">
      Mensaje<br>
      <textarea name="mensaje" cols="47" rows="8" wrap="virtual" id="mensaje"></textarea>
      <input type="submit" name="btsend" class="boton" value="Enviar Email">
      <input type="hidden" name="action" value="send" />
      </p>
    </form>
    </div>
    </td>
  </tr>
</table>
</body>
</html>
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 09/09/2009, 20:27
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Email php

Lo malo es que uno de los otros problemas es que aunque en la variable from tenga el correo puesto si no se lo pongo en la pagina del formulario no me lo envia.Porque pasa esto??¿¿
  #5 (permalink)  
Antiguo 10/09/2009, 04:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Email php

Compañeros porfavor me podeis dar alguna solucion essque lo necesito para un programa que estoy haciendo.

Gracias.
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 07:38.