Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2005
srangel srangel is offline
Miembro
 
Registrado: ago 2004
Posts: 63
Poder: 20
srangel Va por buen camino
Question colocar un attach dentro del envio del correo

hago el envio de correo desde el programa php ...ahora mi duda es como puedo colocar un attach de un archivo de excel......no se como se define dentro de php...si me pudieran ayudar se los agradeceria.....
Responder Con Cita
  #2  
Antiguo 10-11-2005
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Hola srangel, buenas noches.

Promero deberias decirnos el programa que usas para enviar correo, ya que estos cambian unos de otros.

Yo, personalmente, utilizo el "phpmailer" y es tan sencillo como:
Código PHP:
/*
  +------------------------------------------------------------------------
  | definir los parámetros de "phpMailer"
  +------------------------------------------------------------------------
*/
  
require( $pathBase "sql/hostSMP.inc" );
  require( 
"class.phpmailer.php" );
  
$mail = new PHPMailer();
  
$mail->SetLanguage("es""language/"); //--------- en Español
  
$mail->IsSMTP(); // ----------------------------- enviar via SMTP
  
$mail->Host     "$hostName"// -------------- servidor/es SMTP
  
$mail->SMTPAuth true// ---------------------- SMTP requiere contraseñas
  
$mail->Username "$hostUser";  // -------------- SMTP username
  
$mail->Password "$hostPass"// --------------- SMTP password
  
$ContentType    "text/html"// --------------- tipo de contenido del mensaje
  
$mail->From     "$hostEMail"// -------------- email del remitente
  
$mail->FromName "$hostAlias"// -------------- nombre del remitente
  // ---------------------------------------------- destinatario(s)
  
for( $i=0$i<count($arrayEmail); $i++ ) {
       
$mail->AddAddress("$arrayEmail[$i]",     "$arrayLista[$i]");
  }
  
// ---------------------------------------------- responder a ...
  
$mail->AddReplyTo("$hostEMail",               "$hostAlias");
  
$mail->WordWrap 200// ----------------------- establecer el ancho de la línea
  // ---------------------------------------------- FICHEROS A ENVIAR
  
$mail->AddAttachment("../imagen/imagen.gif");
  
$mail->AddAttachment("../textos/texto.txt");
  
$mail->IsHTML(true); // ------------------------- enviar como HTML
  
$mail->Subject  =  "$asunto"// ---------------- asunto del mensaje
  
$mail->Body     =  "$cssHtml"
                  
.  "$cuerpoHtml"// ------------ mensaje en "Html"
  
$mail->AltBody  =  "$cuerpoText"// ------------ mensaje en "Solo Texto"
/*
  +------------------------------------------------------------------------
  | enviar el correo con "phpMailer"
  +------------------------------------------------------------------------
*/
  
if( !$mail->Send() ) {
      echo 
"El mensaje NO ha sido enviado <p>";
      echo 
"Mailer Error: " $mail->ErrorInfo;
      exit;
  }
?> 
El script (son dos: "class.phpmailer.php" y "class.smtp.php") los puedes bajar de http://www.programacion.com/php/articulo/phpmailer/ (no sé si habán actualizado la versión, creo que van por la 1.72 o algo así, además te explican como configurarlo y los parámetros que necesita.

Saludos: salvica
Responder Con Cita
  #3  
Antiguo 25-11-2005
srangel srangel is offline
Miembro
 
Registrado: ago 2004
Posts: 63
Poder: 20
srangel Va por buen camino
este es el codigo que tengo ahorita funcionando ....pero el unico problema que tengo que solo me manda el archivo no me manda lo que contiene el mensaje1....y yo lo que requiero es que venga tanto con el texto como con el archivo....espero y me puedas ayudar ....

Código PHP:
$asunto "Encuesta Servicio";
$mensaje1="<html><head></head><body><p align=center><strong>".
  
"Se Envia el Formato de Quejas de los Servicios de Calibracion</p></body></html>";
$archivo="encuesta.xls";
$cabeceras "MIME-Version: 1.0\r\n";
$cabeceras .= "From: Solicitudes de Calibracion \n";
$cabeceras .= "Content-type: text/html;name=\"my attachment\"\n";
$cabeceras .= "Content-Transfer-Encoding: base64\n";
$cabeceras .= "Content-Disposition: attachment; filename=\"$archivo\"\n\n";
$path "/usr/local/etc/httpd/htdocs/CursoNet/Solicitudes/encuesta.xls";
$fp fopen($path'r');
do 
//we loop until there is no data left
{
$data fread($fp8192);
if (
strlen($data) == 0) break;
$content .= $data;
} while (
true);
$content_encode chunk_split(base64_encode($content));
$cabeceras .= $content_encode "\n";
$cabeceras .= "--" $boundary "\n";
$cabeceras .= "From: Envio del Formato de Quejas\n";
$headers .= "MIME-Version: 1.0\n";
mail($para,$asunto,$mensaje1,$cabeceras); 

Última edición por dec fecha: 26-11-2005 a las 02:29:28. Razón: ¡¡Encerrad el código fuente entre las etiquetas [PHP] ... [/PHP]!!
Responder Con Cita
  #4  
Antiguo 26-11-2005
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Hola srangel, buenas noches
Primero utiliza las etiquetas PHP para identar el código que sino se hace complicado leerlo

Segundo, como te decía en el post anterior, no utilizo el MAIL(), por lo que si hay más errores se me hará dificil ayudarte

Según el manual de php, la opción MIME-Version: 1.0 la pone dentro de la cabecera, mientras que tú la pones en headers, o sea tú pones:
Código PHP:
$cabeceras .= $content_encode "\n";
$cabeceras .= "--" $boundary "\n";
$cabeceras .= "From: Envio del Formato de Quejas\n";
$headers .= "MIME-Version: 1.0\n"
y en el manual pone (te lo pongo íntegro):
Código PHP:
/* recipientes */
$para "[email="maria@example.com"]maria@example.com[/email]" ", " // fijese en la comma
$para .= "[email="kelly@example.com"]kelly@example.com[/email]";
/* asunto */
$asunto "Recordatorio de Cumplea&ntilde;os para Agosto";
/* mensaje */
$mensaje '
<html><head><title>Recordatorio de Cumplea&ntilde;os para Agosto</title></head>
<body><p>&iexcl;Aqu&iacute; est&aacute;n los cumplea&ntilde;os que llegan en Agosto!</p>
<table><tr><th>Persona</th><th>D&iacute;a</th><th>Mes</th><th>A&ntilde;o</th></tr>
<tr><td>Juan</td><td>3</td><td>August</td><td>1970</td></tr>
<tr><td>Sandra</td><td>17</td><td>August</td><td>1973</td></tr>
</table></body></html>'
;
 
/* Para enviar correo HTML, puede definir la cabecera Content-type. */
$cabeceras "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
 
/* cabeceras adicionales */
$cabeceras .= "To: Maria <[email="maria@example.com"]maria@example.com[/email]>, Kelly <kelly@example.com>\r\n";
$cabeceras .= "From: Recordatorio <cumpleanyos@example.com>\r\n";
$cabeceras .= "Cc: [email]archivo@example.com[/email]\r\n";
$cabeceras .= "Bcc: [email]chequeo@example.com[/email]\r\n";
 
/* y ahora, enviarlo */
mail($para$asunto$mensaje$cabeceras); 
No sé si eso y la forma de la disposición tendran algo que ver.

Siento no poderte ser de más ayuda.
Saludos
salvica
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:46:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi