![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
$adj1 .="Content-Disposition: inline; filename=\"promo_ITSUR.swf\"".$UN_SALTO;
¡Gracias!
| |||
![]() Hi chicos, tengo un problemita, ![]() ![]() $adj1 .="Content-Disposition: inline; filename=\"promo_ITSUR.swf\"".$UN_SALTO; ¡Gracias! |
| |||
Puedes usar la classe: PHP Mailer http://phpmailer.sourceforge.net Una de sus funcionalidades es la de poder generar un e-mail con un archivo como adjunto o incrustrarlo dentro de la llamada de tu página HTML (y su tag de imagen) donde corresponada . Un saludo, |
| |||
Hi Cluster: Cheque la pagina, lo que entendí es que tengo que configurar el protocolo SMPT para poder hacer buen uso de las cabeceras del MIME, pero resulta que estoy trabajando bajo el ambiente de windows y linux por lo que creo no debería éste ser impedimento para que se vea el archivo .swf en linea cuando me lo mando a mi correo. ¿De todos modos de configurar este protocolo? |
| |||
Yuriria ... no, esa classe (PHP Mailer) te permite enviar un e-mail con bastante más opciones que mail() de PHP original (sin más) .. pero no sólo lo hace vía SMTP directo .. puede usar mail() de PHP (y hasta sendmail si lo usas ...directo). Tu decides que usar para enviar el e-mail: la función mail() de PHP, SMTP directo o "sendmail". Si en tu servidor; no sé si linux o windows .. en realidad eso da igual. Si usas SMTP directo .. le indicas ahí la IP de tu servidor SMTP (que si es la misma que corre PHP .. puede ser "localhost") .. y si no quieres complicarte .. le dices que quieres usar mail() de PHP con la configuración que este use (que al fin y al cabo es lo mismo .. ) Ahora .. en tu caso concreto .. lo que no indicas el código completo que usas para "incrustrar" tu archivo en tu e-mail .. tanto del código HTML que va a llamar a tu .swf que debes adjuntar al e-mail .. como del PHP que va a componer todas las cabeceras del mail con sus formatos MIME y demás para "incrustrar" y definir un e-mail multiparte (HTML+tus archivos) y las referencias "internas" a este .. De hecho te he recomendado "PHP Mailer" por qué todo eso ya lo hace esa classe, tu sólo debes usar el método que en la documentación se indica y listo .. te olvidas de todo esa "teoría". (que por otra parte no está de más conocer el "procedimiento" pero de ahí a re-inventar la rueda en muchos casos no es necesario, como este creo yo). Un saludo, |
| |||
Aahhaaaaaaaaaa, ahora te entiendo mejor, voy a ponerne a darle una repasada al "sendmail". Gracias por explicarme. sorry son muy novata. Este es el codigo que utilizo para enviar el mail con el archivo adjunto. <? header("Location: http://www.itsur.edu.mx/inicio.php" ); //Checa si el e-mail es correcto. function emailOK($str) { //Check empty if(empty($str)) return false; //Check for @ if(!ereg("@",$str)) return false; //Check for at least 1 dot if(!ereg("\.",$str)) return false; //Get a user and a host list($user, $host) = explode("@", $str); //Make sure we have a user and host if((empty($user)) || (empty($host))) return false; //These characters are not allowed in email addresses $badChars = "[ ]+| |\+|=|[|]|{|}|`|\(|\)|,|;|:|!|<|>|%|\*|/|'|\"|~|\?|#|\\$|\\&|\\^|www[.]"; return !eregi($badChars, $str); }//End Function $destinatario = $_POST["email"]; if (emailOk($destinatario)) { $UN_SALTO="\r\n"; $DOS_SALTOS="\r\n\r\n"; $titulo="Información acerca del ITSUR"; //$mensaje="<html><head></head><body bgcolor= \"#4FB05E\">"; //$mensaje.= '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="325"> <param name="movie" value="promo_ITSUR.swf"> <param name="quality" value="high"> <embed src="promo_ITSUR.swf" quality="high" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type="application/x-shockwave-flash" width="400" height="325"></embed>'; //$mensaje.= $mensaje."</object></body></html>"; $responder = $_POST["email"]; $remite = $_POST["email"]; $remitente="ITSUR"; $separador = "_separador_de_trozos_".md5 (uniqid (rand())); $cabecera = "Date: ".date("l j F Y, G:i").$UN_SALTO; $cabecera .= "MIME-Version: 1.0".$UN_SALTO; $cabecera .= "From: ".$remitente."<[email protected]>".$UN_SALTO ; //$cabecera .= "Return-path: [email protected]".$UN_SALTO; //$cabecera .= "Reply-To: [email protected]".$UN_SALTO; $cabecera .="X-Mailer: PHP/". phpversion().$UN_SALTO; $cabecera .= "Content-Type: text/html;".$UN_SALTO; $cabecera .= " boundary=$separador".$DOS_SALTOS; // Parte primera -Fichero adjunto nº 1 # Separador inicial $adj1 ="--$separador".$UN_SALTO; # Encabezado parcial $adj1 .="Content-Type: application/octet-stream; name=\"promo_ITSUR.swf\"".$UN_SALTO; $adj1 .="Content-Disposition: inline; filename=\"promo_ITSUR.swf\"".$UN_SALTO; $adj1 .="Content-Transfer-Encoding: base64".$DOS_SALTOS; //$adj1 .=$mensaje; //# lectura del fichero adjuntos $fp = fopen("promo_ITSUR.swf", "r"); $buff = fread($fp, filesize("promo_ITSUR.swf")); fclose($fp); //# codificación del fichero adjunto $adj1 .=chunk_split(base64_encode($buff)); //separador final del mensaje $adj1 .=$UN_SALTO."--$separador".$UN_SALTO; // Unión de las diferentes partes para crear el cuerpo del mensaje $mensaje=$adj1; // envio del mensaje if (mail($destinatario,$titulo,$mensaje,$cabecera)) { echo "Gracias por rellenar el formulario. Se ha enviado correctamente."; } }else{ echo "¡e-mail no valido!"; } ?> |
| |||
Realmente . .insisto .. prueba la classe PHP Mailer .. te facilitará la vida ... de hecho ya implementa todo eso que estás intentando hacer en tu ejemplo (y probado además de muchooooooooo más comodo de usar y versatil). Podrías hasta tomar el código de PHP Mailer y compararlo con el tuyo .. (sobre todo a nivel de cabeceras HTTP que usas y como se compone el e-mail multiparte ..). Un saludo, |