Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Diabliyo

#511
Cita de: дٳŦ٭ en 25 Noviembre 2008, 18:43 PM
Y como adjuntas varios archivos?  :P no entiendo para que regresas 0 y 1...

Lo de retornar 1 o 0 en la funcion enviar_correo() es como metodo de comprobacion para saber si el correo se envio o no :D, debido a que esta funcion la utilizo no solo en una parte del codigo, sino que tambien es utilizada para: notificar comentarios nuevos, notificar noticias nuevas, enviar correos a un grupo en especifico, etc, etc... Asi que en momento cuando esta funcion es utilizada para enviar a un conjunto de bandejas, pues no deseo que el programa pierda el tiempo en enviar varios correos, sabiendo de antemano que al primer intento fallido, es mejor detener el ciclo :D...

Sobre adjuntar varios, no lo he investigado :D...

En realidad para saber como adjuntar un archivo, solamente me auto-envie un correo con un PDF adjunto (utilizando GMAIL), de este modo solo observe el mensaje en su fuente original (ver cabeceras y demas info..) y con eso basto para asumir como se armaba con un adjunto ;)..

Cuando desee enviar mas de 1, solamente me auto-enviare 2 archivo, verificare como se genera el mensaje, y listo :D....

bye bye
#512
PHP / Re: Problemas con envio de correos en php !!
25 Noviembre 2008, 15:57 PM
Cita de: Diabliyo en 14 Noviembre 2008, 21:37 PM
Hola

Listo, solamente quite el set_time_limit(600) hacia dentro del while() donde invoco la funcion enviar_correo(). Con esto logre enviar todo lo deseado xD...

bye bye

Retomo el tema, debido a que sigo experimentando problemas al momento de estar enviando correo...

En mi base de datos poseo muchos correos asi que al momento de estar enviando llega un momento en el que el AJAX se queda Cargando.. (por que oviamente esta enviando correos a todos los destinatarios), y finalmente solo se queda la pagina sin ningun letrero, vaya, pareciera como si se frenara todo :(...

deduzco que el script es frenado por exceder el limite de ejecucion... pero como puedo resolver este problema, debido a que no se alcanza a enviar los correos a todos los destinatarios...

Por otro lado, estuve contando aproximadamente CUANTOS correos si se pudieron enviar, y solo acanze a contar: 420 envios...

Utilizo el siguiente codigo:

Funcion que lee contactos e invoca funcion de envio de correos[/b
Código (php) [Seleccionar]
while( ($buf_lista=mysql_fetch_array($cons_lista)) && $smtp_error==1 )
{
set_time_limit(600); //10 minutos
$smtp_error= enviar_correo( $buf_lista["EMAIL"], proteger_cadena($_POST["publicidad_redactar_titulo"]), 6, proteger_cadena($_POST["publicidad_redactar_codigo"]), $_POST["file_adjunto"] );
set_time_limit(30); //3 minutos
}


Funcion que envia correos
Código (php) [Seleccionar]
function enviar_correo( $to, $asunto, $modo, $enlace, $adjunto )
{
$boundary= md5(time()); //valor boundary
$htmlalt_boundary= $boundary. "_htmlalt"; //boundary suplementario
$subject=$asunto; //titulo del correo

//cabeceras para enviar correo en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"". $boundary. "\"\r\n"; //datos mixteados
$headers .= "From: ". TITULO_WEB. "<robot@sie-group.net>\r\n"; //correo del que lo envia

//incia cuerpo del mensaje que se visualiza
$cuerpo="--". $boundary. "\r\n";
$cuerpo .= "Content-Type: multipart/alternative; boundary=\"". $htmlalt_boundary. "\"\r\n\r\n"; //contenido alternativo: texto o html
$cuerpo .= "--". $htmlalt_boundary. "\r\n";
$cuerpo .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$cuerpo .= "Content-Transfer-Encoding: 8bits\r\n\r\n";

if( $modo==0 ) //enviar correo para comentarios
{
//Cuerpo o contexto del mensaje, la esencia del correo, el todo ;)
$cuerpo .= "Han publicado un nuevo comentario en <b>". $_SERVER['HTTP_HOST']. "</b>.<br>Enlace al tema: ";
$cuerpo .= "<b></b><a href=\"". $enlace. "\" target=\"_blank\">". $enlace. "</a></b>";
}
else if( $modo==1 ) //error en correo para comentarios
{
$trama_deficiente= $_POST;
//Cuerpo o contexto del mensaje, la esencia del correo, el todo ;)
$cuerpo .= "Se produjo un error en el servidor <b>". $_SERVER['HTTP_HOST']. "</b> al interntar enviar aviso de notificacion a las bandejas, ";
$cuerpo .= "la notificacion se intento enviar en blanco o sin u enlace hacia la noticia donde se publico el comentario.";
$cuerpo .= "<p>A continuacion de muestra la trama deficiente obtenida: <br>". $trama_deficiente;
unset($trama_deficiente);
}
//mas modos....
//....

$cuerpo .= "\r\n\r\n";
$cuerpo .= "--". $htmlalt_boundary. "--\r\n\r\n"; //fin cuerpo mensaje a mostrar

//archivos adjuntos
if( strcmp($adjunto, "0") && strcmp($adjunto, "vacio")  )
{
set_time_limit(600); //limite maximo 10 minutos
$archivo= $adjunto;
$buf_type= obtener_extencion_stream_archivo($adjunto); //obtenemos tipo archivo

$fp= fopen( "uploads/".$archivo, "r" ); //abrimos archivo
$buf= fread( $fp, filesize("uploads/".$archivo) ); //leemos archivo completamente
fclose($fp); //cerramos apuntador;

$cuerpo .= "--". $boundary. "\r\n";
$cuerpo .= "Content-Type: ". $buf_type. "; name=\"". $archivo. "\"\r\n"; //envio directo de datos
$cuerpo .= "Content-Transfer-Encoding: base64\r\n";
$cuerpo .= "Content-Disposition: attachment; filename=\"". $archivo. "\"\r\n\r\n";
$cuerpo .= base64_encode($buf). "\r\n\r\n";
}
$cuerpo .= "--". $boundary. "--\r\n\r\n";

//funcion para enviar correo
set_time_limit(600); //limite maximo 10 minutos
if( mail($to, $subject, $cuerpo, $headers) == FALSE )
return 0;
return 1;
}
#513
PHP / Re: Como adjuntar archivos a un mail en PHP ??
25 Noviembre 2008, 15:44 PM
Listo... Ya tengo mi codigo funcionando :D...

Aqui se los dejo...

Código (php) [Seleccionar]
function enviar_correo( $to, $asunto, $modo, $enlace, $adjunto )
{
$boundary= md5(time()); //valor boundary
$htmlalt_boundary= $boundary. "_htmlalt"; //boundary suplementario
$subject=$asunto; //titulo del correo

//cabeceras para enviar correo en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"". $boundary. "\"\r\n"; //datos mixteados
$headers .= "From: ". TITULO_WEB. "<robot@sie-group.net>\r\n"; //correo del que lo envia

//incia cuerpo del mensaje que se visualiza
$cuerpo="--". $boundary. "\r\n";
$cuerpo .= "Content-Type: multipart/alternative; boundary=\"". $htmlalt_boundary. "\"\r\n\r\n"; //contenido alternativo: texto o html
$cuerpo .= "--". $htmlalt_boundary. "\r\n";
//modo de contenido del cuerpo del mensaje a mostrar
//if( !strcmp($modo_envio, "texto") ) //modo texto plano
// {
// $cuerpo .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
// $cuerpo .= "Content-Transfer-Encoding: 8bits\r\n\r\n";
// $cuerpo .= strip_tags(str_replace("<br>", "\n", substr($_POST["email_contenido"], (strpos($_POST["email_contenido"], "<body>")+6)))). "\r\n\r\n";
// }
//else //modo html
// {
$cuerpo .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$cuerpo .= "Content-Transfer-Encoding: 8bits\r\n\r\n";
// }

if( $modo==0 ) //enviar correo para comentarios
{
//Cuerpo o contexto del mensaje, la esencia del correo, el todo ;)
$cuerpo .= "Han publicado un nuevo comentario en <b>". $_SERVER['HTTP_HOST']. "</b>.<br>Enlace al tema: ";
$cuerpo .= "<b></b><a href=\"". $enlace. "\" target=\"_blank\">". $enlace. "</a></b>";
}
//y mas modos....
//....

$cuerpo .= "\r\n\r\n";
$cuerpo .= "--". $htmlalt_boundary. "--\r\n\r\n"; //fin cuerpo mensaje a mostrar

//archivos adjuntos
if( strcmp($adjunto, "0") && strcmp($adjunto, "vacio")  )
{
set_time_limit(600);
$archivo= $adjunto;
$buf_type= obtener_extencion_stream_archivo($adjunto); //obtenemos tipo archivo

$fp= fopen( "uploads/".$archivo, "r" ); //abrimos archivo
$buf= fread( $fp, filesize("uploads/".$archivo) ); //leemos archivo completamente
fclose($fp); //cerramos apuntador;

$cuerpo .= "--". $boundary. "\r\n";
$cuerpo .= "Content-Type: ". $buf_type. "; name=\"". $archivo. "\"\r\n"; //envio directo de datos
$cuerpo .= "Content-Transfer-Encoding: base64\r\n";
$cuerpo .= "Content-Disposition: attachment; filename=\"". $archivo. "\"\r\n\r\n";
$cuerpo .= base64_encode($buf). "\r\n\r\n";
}
$cuerpo .= "--". $boundary. "--\r\n\r\n";

//funcion para enviar correo
set_time_limit(600);
if( mail($to, $subject, $cuerpo, $headers) == FALSE )
return 0;
return 1;
}
#514
PHP / Re: No me funciona mime_content_type
25 Noviembre 2008, 15:42 PM
Y cual es la finalidad por la que deseas utilizar esa funcion ???

Ya que, si deseas armar una trama para generar un correo que posea un archivo adjunto, pues esta funcion puedes dejarla de lado y utilizar simplemente: $_FILES["archivo"]["type"], aun asi cuando armes el Content-Type: el archivo sera bien interpretado y reconocido.....

En fin, estoy dibagando :D

bye bye
#515
Cita de: Erik# en 23 Noviembre 2008, 20:39 PM
Si buscas colaboración de programadores avisa.
Esta muy bien el CMS.

La invitacion la he lanzado para invitarlos a colaborar en la manera que ustedes quieran y puedan :D. Solo es cuestion que se logueen en el sitio (registrarse) y empezemos a platicar por mensajeria instantanea o igual, enviarme un correo para ver como le hacemos.

Yo tenia en mente formalizar un Grupo por cada area, quedando mi distribucion asi:

Grupo Coders serian los integrantes que programan (modulos, librerias, fix bugs).
Grupo Testers serian aquellos que utilizan la herramienta y tienen la disponibilidad de brindar sus comentarios sobre las nuevas versiones.
Grupo Mixed serian aquellos que aportan colaboraciones como: temas, emoticons, estilos, consejos, ideas, avisos de bugs, etc...

Pero estaria aun en formacion debido a que el proyecto oficialmente y formalmente apenas ha empezado :D.

bye bye
#516
Cita de: Dacan en 20 Noviembre 2008, 23:55 PM
Muy bueno tu cms tengo una duda los módulos tengo que crearlos yo mismo ejemplo si tengo conocimiento de PHP puedo hacer un modulo para encuestas.

Saludos, Dacan  :D

Cuando te bajes y descomprimar onefloor fijate bien en la carpeta que se llama modulos/, en esa carpeta podras meter tus codigos PHP, estos codigos PHP seran interpretados por el PANEL DE CONTROL DEL ADMINISTRADOR, estableciendo tu modulo como un NUEVO BOTON en la parte SUPERIOR CENTRAL.

Para ir codificando tu modulo personal debes seguir una notacion, por ejemplo:

Código (php) [Seleccionar]
<?php

function mi_funcion_de_mi_modulo()
       {
       echo 
"Hola.... estas en mi modulo xD";
       }


echo 
"<table>";
if( 
compruebas_si_estan_en_tu_modulo )
       
mi_funcion_de_mi_moudlo();
echo 
"</table>";
?>


Para una mejor ilustracion abre con algun editor o ide algun modulo existente en la carpeta modulos/ para que veas como hiria la cosa :D....

Tambienes tienes a tu disposicion el archivo de estilos onefloor/admin/css/estilo.css, puedes igual invocar un nuevo estilo para que vayas implantando tus propios estilos :D...

Por otrolado, una vea hayas codificado lo que gustes en tu modulo, puedes invocar las funciones que tu hayas creado dentro del TEMA que estas usando ;) !!...

Muy pronto en el sitio oficial se publicara un pequeno manual de como ir haciendo lo que estas preguntando :D...

bye bye
#517
OneFloor es un proyecto latino, de codigo abierto, disponible en descarga directa desde su sitio oficial. Tengo ya casi un año desarrollando esta herramienta, parecida a lo que muchos conocemos como CMS (Content Management System), pero incluyendole ciertas novedades que lo hacen mas: atractivo, singular, estable, acojible, modificable y sobre todo en un idioma en espanol en todo su codigo fuente.

Me dirijo a este foro, para invitarlos a colaborar con este proyecto, actualmente tengo como 15 dias que saque una version estable y segura, aparte tambien tengo el mismo tiempo de que abri un sub-dominio al proyecto para formalizarlo de una mejor manera.

Para los que aun no entiendan la funcion, vision y objetivo de OneFloor, les paso a dejar una pequenita explicacion:

CitarSistema base para proyectos en PHP, con la finalidad de facilitar la creacion de aplicaciones y desarrollo de proyectos robustos en php, onefloor pretende ser el primer escalon para la creacion de proyectos, basandose en la lectura de modulos re-programados por ti mismo y carga automatica de los mismos.

Onefloor proporciona una mejor manera y mas personalizada para adaptar temas al software, y permitiendote personalizar la carga de otras cosas como:

- estilos CSS.
- Meta Tags.
- AJAX Scripts.
- javascript Scripts.
- PHP Special Functions.
- etc...

Cualquier colaboracion, reporte de bug, arreglo de bug, diseno de tema, idea, propuesta o cualquier inquitud para mejorar el software, es bienvenida :D !!...

Dejo el enlace al proyecto OneFloor:

http://onefloor.sie-group.net/
CHANGELOG: http://onefloor.sie-group.net/CHANGELOG
LEEME: http://onefloor.sie-group.net/LEEME
BUGTRACK: http://onefloor.sie-group.net/BUGTRACK

Gracias por su tiempo !!...

#518
PHP / Re: Como adjuntar archivos a un mail en PHP ??
15 Noviembre 2008, 06:22 AM
He ojeado un poco los RFCS's, y lo unico que se me ha ocurrido codificar y que posiblemente funcione es esto:

OJO: Por favor evitense la fatiga de recomendarme software ya programado o librerias, por favor limitense a responder lo que pregunto: "como es posible adjuntar un archivo en un mail enviado por PHP con la funcion mail()" ??

Espero sus criticas a mi code xD... Mas tarde lo testeare, ya que es muy noche y ya me tengo que dormir xD

Código (php) [Seleccionar]
<?php
if( !strcmp($_GET["id"], "enviar") )
{
//titulo del correo
$subject=$_POST["email_asunto"];

//destinatario
$to$_POST["email_dest"];

//contenido o cuerpo
$cuerpo$_POST["email_contenido"];

//cabeceras para enviar correo en formato HTML
$headers="";
$headers"MIME-Version: 1.0\r\n";

//archivos adjuntos
if( strcmp($_FILES["email_file"]["name"], "") ) //si existen archivos adjuntos
{
$archivo$_FILES["email_file"]["name"]; //nombre del archivo
//guardamos el archivo en el directorio actual/raiz
move_uploaded_file$_FILES["email_file"]["tmp_name"], $_FILES["email_file"]["name"] );

echo "Cabeceras de ADJUNTOS<br>"//mensaje como aviso que entramos aqui
//generamos cabezeras para el archivo adjunto
$headers .= "Content-type: application/octet-stream\r\n"//envio directo de datos
//$headers .= "Content-transfer-encoding: base64";
$headers .= "Content-Disposition: attachment; filename="$archivo"\r\n";

$fpfopen$archivo"r" ); //abrimos archivo
$buffread$fpfilesize($archivo) ); //leemos archivo completamente
fclose($fp); //cerramos apuntador;

$headers .= base64_encode($buf); //encriptacion en base64
$headers .= "\r\n"//retorno de carro y salto de linea
}
else
{
//establecemos cabeceras como texto
echo "Cabeceras de TEXTO<br>";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"//datos tipo texto


$headers .= "From: "$_POST["email_src"]. "\r\n"//correo del que lo envia

//funcion para enviar correo
if( mail($to$subject$cuerpo$headers) == FALSE )
echo "Error en el envio...";
else echo "Correo enviado exitosamente...";
}
else
{
echo "<form action=\"mailer_test.php?id=enviar\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "De: <input type=\"text\" name=\"email_src\">";
echo "<br>Para: <input type=\"text\" name=\"email_dest\">";
echo "<br>Asunto: <input type=\"text\" name=\"email_asunto\">";
echo "<p><textarea name=\"email_contenido\"></textarea>";
echo "<p><input type=\"file\" name=\"email_file\">";
echo "<br><input type=\"submit\" value=\"Enviar Mail\">";
echo "</form>";
}
?>
#519
PHP / Re: Como adjuntar archivos a un mail en PHP ??
15 Noviembre 2008, 05:26 AM
Cita de: дٳŦ٭ en 15 Noviembre 2008, 05:15 AM
Usa phpmailer ;)

http://zainal.wordpress.com/2007/01/10/sending-email-attachments-in-php-using-phpmailer-class/

No deseo usar librerias externas :D !!...

Alguien por favor que sepa como enviar adjuntos sin utilizar librerias externas ??..

bye bye
#520
Hola:

Tengo un sistema que envia correos, pero estoy interesado en saber como puedo agregarle un archivo adjunto al correo que deseo enviar ???..

El codigo que utilizo para enviar correos es:

Código (php) [Seleccionar]
function enviar_correo( $to, $asunto, $modo, $enlace )
{
//titulo del correo
$subject=$asunto;

if( $modo==0 ) //enviar correo para comentarios
{
//Cuerpo o contexto del mensaje, la esencia del correo, el todo ;)
$cuerpo= "Han publicado un nuevo comentario en <b>". $_SERVER['HTTP_HOST']. "</b>.<br>Enlace al tema: ";
$cuerpo .= "<b></b><a href=\"". $enlace. "\" target=\"_blank\">". $enlace. "</a></b>";
}
else if( $modo==4 ) //enviar correo de recuperacion de datos del usuario
{
$cuerpo= "<b>Sistema de Recuperacion de Datos.</b>";
$cuerpo .= "<p>Te informamos que hemos obtenido una solicitud de datos de tu cuenta en nuestra pagina <b>". $_SERVER['HTTP_HOST']. "</b>, con motivos de ";
$cuerpo .= "<b>recuperacion de usuario y password</b> dicha solicitud provino de:";
$cuerpo .= "<p>IP: <b>". $_SERVER['REMOTE_ADDR']. "</b><br>";
$cuerpo .= "Nombre Host: <b>";
//obteniendo nombre del host
$info= gethostbyaddr($_SERVER['REMOTE_ADDR']);
if( strcmp( $info, $_SERVER['REMOTE_ADDR']) )
$cuerpo .= $info;
else $cuerpo.= "<b>no se pudo obtener</b>";
unset($info);

$cuerpo .= "</b><br>";
$cuerpo .= "Fecha: <b>". date( "d/m/y", time() ). " a las ". date( "g:i a", time() ). "</b>";
$cuerpo .= "<p>Los datos solicitados referentes a tu cuenta son:";

$x= explode( "|", $enlace );
$cuerpo .= "<p><b>Username: </b>". $x[0];
$cuerpo .= "<br><b>Password: </b>". $x[1];
unset($x);
}
//y mas modos....

//Tag del Robot :: "No contestar al mail"
$cuerpo .= "<p>Este mensaje fue generado automaticmanete por nuestro sistema web, asi que no es necesario contestar este correo.";
$cuerpo .= "<p>". TITULO_WEB. "<br>http://". $_SERVER['HTTP_HOST'];

//cabeceras para enviar correo en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ". TITULO_WEB. "<robot@sie-group.net>\r\n"; //correo del que lo envia

//funcion para enviar correo
if( mail($to, $subject, $cuerpo, $headers) == FALSE )
return 0;
return 1;
}