Foros del Web » Programando para Internet » PHP »

problemas con phpmailer

Estas en el tema de problemas con phpmailer en el foro de PHP en Foros del Web. Hola a todos estoy intentando crear un formulario con el que se pueda adjuntar un archivo y que ese formulario llegue a un email. Este ...
  #1 (permalink)  
Antiguo 28/06/2009, 09:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
problemas con phpmailer

Hola a todos estoy intentando crear un formulario con el que se pueda adjuntar un archivo y que ese formulario llegue a un email. Este es el codigo

Código:
  <div id="foto">
					<fieldset>
						<p>Trabaja con Nosotros</p>
						<form method="post" onsubmit="return validacontacto()" action="" target='_self' enctype="multipart/form-data">
					
						<center>
				   <label for="nombre" id="nombre_t"style="color:black;margin-right:2%;">Nombre</label>
				   <input name="nombre" type="text" id="nombre" class="formuentrada" maxlength="20" size="30" />
				   <br/>
				   <label for="nombre"id="nombre_e" style="color:red;display:none;width:100%;">Debes introducir tu nombre</label>
				   <br/>
                   <label for="email" id="email_t" style = "color:black;margin-right:4%;">E-mail</label>
				   <input name="email" type="text" id="email" class="formuentrada" maxlength="40" size="30"/>
                   <br/>
                   <label for="email" id ="email_e"style="color: red;display:none;width:100%;">Debes introducir el E-mail</label>
				   <label for="email" id="email_e1"style="color:red;display:none;width:100%;">El formato del e-mail no es correcto</label>
				   <br/>
				   <label for="telefono" id="telefono_t" style="color:black;margin-right:1%;">Tel&eacute;fono</label>
				   <input name="telefono" type="text"  id="telefono" class="formuentrada" maxlength="9" size="30"  />
				   <br/>
				   <label for= "telefono" id= "telefono_n1" style="color:red;display:none;width:100%;">Debes introducir un tel&eacute;fono de contacto</label>
				   <label for= "telefono" id ="telefono_n2" style="color:red;display:none;width:100%;">El formato del tel&eacute;fono no es correcto</label>
				   <br/>
				   <label id="pudeseado" name="pudeseado" style="color:black; margin-right:13%">Puesto deseado</label>
				   <select id="puesto" name="puesto" class="TitleColor required validate-selection">
									<option value="0">   Selecciona ...   </option>
									<option value="2">Cocina</option>
									<option value="1">Camarer@</option>
						</select><br/>
						<label for= "puesto" id ="puesto_n1" style="color:red;display:none;width:100%;">Debe seleccionar su puesto deseado</label>
					<br/>
					<br/>
				   <label for ="carta" id="carta" style="color:black;margin-right:28%">Carta de Presentaci&oacute;n</label><br/><br/>
				   <textarea rows="4" cols="32" id="carta" name="carta" class="formuentrada" style="margin-left:2%"></textarea>
				   <br/>
				   <br/>
				   <p><label for="curri" id="curri" style="color:black;margin-right:15%">Adjuntar curriculum </label>
				   
          				<INPUT id="archivo" type=file name="archivo"></p>
					
          				<INPUT type=submit value="Enviar">
					</form>
				</center>
				
				
<?					
				requiere("class.phpmailer.php");
				
			if ($_POST['action'] == "send") {
   
          $varname = $_FILES['archivo']['name'];
   
          $vartemp = $_FILES['archivo']['tmp_name'];
   
         
   
          $mail = new PHPMailer();
   
          $mail->Host = "localhost";
   
          $mail->From = "Sabor a mar";
   
          $mail->FromName = $_POST['nombre'];
		  
		  $mail->Contacto = $_POST['telefono'];
  
          $mail->Email = $_POST['email'];
		  
		  
		  

  
          $mail->AddAddress(mail('[email protected]'));
  
          if ($varname != "") {
  
              $mail->AddAttachment($vartemp, $varname);
  
          }
  
          $body = "<strong>Mensaje</strong><br><br>";
  
          $body.= $_POST['puesto']."<br>";
		  $body.= $_POST['carta']."<br>";
  
          $body.= "<i>Enviado por http://saboramar.com</i>";
  
          $mail->Body = $body;
  
          $mail->IsHTML(true);
  
          $mail->Send();
?>
				<fieldset>
				<p><strong>Datos Recibidos.</strong><br />
				Sus datos personales se han enviado correctamente, ahora forma parte de nuestra bolsa de trabajo.<br/>
				Cuando surja una vacante nos pondremos en contacto con usted. Muchas Gracias</p>
				<center><input type="button" value="Volver" onClick="location.href='trabaja.php'" /></center>
				</fieldset>
				<? }
				else {
					
			?><fieldset>
				<strong>Datos Erroneos.</strong><br />
				Ha ocurridos un error al enviar sus datos por favor intentelo de nuevo o mas tarde<br/></p>
				<center><input type="button" value="Volver" onClick="location.href='trabaja.php'" /></center>
				</fieldset><?

					
				}
					 
    
				
			
?>


						
						</fieldset>
						</div>
No me da ningun problema pero me vuelve a salir la pagina del formulario sin decir si se han enviado los datos o no. No se que es lo que hago mal pues no estoy mu puesta en php. Gracias
  #2 (permalink)  
Antiguo 01/07/2009, 10:04
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: problemas con phpmailer

puedes cambiar $mail->Send(); (linea 92) por:

if($mail->Send()){
header('Location: url');
}

suerte y cualquier cosa estamos por aqui
  #3 (permalink)  
Antiguo 17/07/2009, 13:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problemas con phpmailer

Hola, perdon por la tardanza en responder, he probado lo que me dices y por ahora no me llega nada al correo no se si pasan muchas horas hasta que llegue pero nada, no se si hay alguna formula mas sencilla de enviar adjuntos pues tengo otro formulario que ese me llega bien perfecto el problema es cuando quiero enviar el adjunto que no me da fallo pero no llega, Espero vuestra ayuda amigos
  #4 (permalink)  
Antiguo 19/07/2009, 10:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
Problema envio al email input tipe file

Bueno al final he cambiado a la validacion que tenia anteriormente y bueno llegarme al correo llega, mi problema es que lo que no llega es el input type= file.
Mi idea es que llegue como un adjunto y se pueda descargar. Pongo mi codigo y haber si alguien me puede decir como se hace o que lineas son las que me hacen falta:

Codigo php

Código:
$msg= "";
				$msg= "Mensaje del formulario de trabaja con nosotros de saboramar.com";
				$msg.= "\nNombre: ". $_REQUEST['nombre'];
				?><br/><?
				$msg.= "\nEmail: ".$_REQUEST['email'];
				?><br/><?
				$msg.= "\nTelefono: ". $_REQUEST['telefono'];
				?><br/><?
				$msg.= "\nPuesto_deseado: ". $_REQUEST['puesto'];
				?><br/><?
				$msg.= "\nCarta_De_Presentacion: \n".$_REQUEST['carta'];
				?><br/><?
				$msg.= "\nCurriculum: \n".$_REQUEST['archivo'];
				$remitente = $_REQUEST['nombre'];	
				$subject = "Mensaje enviado desde saboramar.com por: ".$_REQUEST['nombre'];
				mail('[email protected]', $subject, $msg, "FROM: $remitente");
				?>
Lo que esta en negrita es lo que me hace falta, con eso lo unico que hago es que me llegue el nombre del archivo y ya esta.
Espero vuestra ayuda.
Mil gracias
  #5 (permalink)  
Antiguo 20/07/2009, 09:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problemas con phpmailer

up, alguien sabe como puedo enviar un input type file al correo mediante php
  #6 (permalink)  
Antiguo 20/07/2009, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problemas con phpmailer

No es tan sencillo como agregarlo a tu file, necesitas codificarlo y anexarlo al correo, lo cual no es tan sencillo, te recomiendo usar PHPMailer.

Revisa este enlace: http://phpmailer.worxware.com/index.php?pg=examplebmail

Saludos.
  #7 (permalink)  
Antiguo 20/07/2009, 11:48
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: problemas con phpmailer

pues realmente si es sencillo yo lo realize de la siguiente forma

http://www.forosdelweb.com/f18/envia...o-foro-714445/

espero te sirva.
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 21:23.