Foros del Web » Programación para mayores de 30 ;) » Programación General »

personalizar Formmail

Estas en el tema de personalizar Formmail en el foro de Programación General en Foros del Web. Hola nuevamente. Aqui te mensando el mensajes como me lo pediste. Bueno, el problame es que el formato en que llegan los mails utilizando FROMMAIL ...
  #1 (permalink)  
Antiguo 07/04/2005, 11:22
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
personalizar Formmail

Hola nuevamente. Aqui te mensando el mensajes como me lo pediste.

Bueno, el problame es que el formato en que llegan los mails utilizando FROMMAIL es muy rustico y me gustaria que me ayudaras a personalizarlo. Darle color, cambiear fuente, colocar una imagen como encabezado, color de fondo, etc y si es posible encerrar el contenido de los campos en un marco con borde delgado.

Espero tu respota ansiosamente.

Te agradezco mucho tu ayuda.

besitos. chao.
  #2 (permalink)  
Antiguo 07/04/2005, 12:07
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Hola, Bienvenida a los foros !!!

Disculpame que no te responda por mail, es que solamente voy a responder por este medio, sino me vuelvo loco !!!

Para personalizar el formmail tenés una función que se llama

sub send_mail {

ahí es donde se imprime el mail, para meterle tanto formato como quieres deberías de enviarlo en HTML, para lo cuual deberías reemplazar esto

print MAIL "Below is the result of your feedback form. It was submitted by\n";

por

print MAIL "Content-type: text/html \n\n";

Y todos lo demás que imprimas hacelo como HTML por ejemplo

print MAIL "<b>$print_config:</b> $Config{$print_config}\n\n";

y

print MAIL "$sorted_field: $Form{$sorted_field}\n\n";

por

print MAIL "<b>$sorted_field:</b> $Form{$sorted_field}\n\n";

Se entiende ?

Probá esto y decime si te funciona...

Saludos
__________________
Esteban Quintana

Última edición por monoswim; 07/04/2005 a las 12:08
  #3 (permalink)  
Antiguo 08/04/2005, 14:34
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail

Te hice casa , abri el archivo en dreamweaver y esto es lo que me sale en la linea 386 que tu me indicas:

$conf_domain = $1;

no encuentro sendmail. Recuerda que el FORMMAIL que yo tengo es para windows. No es el que ocupan en linux.

Bueno ojala puedas ayudarme.

Espero para seguir tus instrucciones.
  #4 (permalink)  
Antiguo 08/04/2005, 18:29
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
ha, ok, disculpa, me puedes pasar el formmail que tienes por mail ?

mandalo a estebanquintanaARROBOTAwpymes.com (cambiá ARROBOTA POR @, es por los spammers)

Así lo veo y te digo...

Saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 10/04/2005, 11:50
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Hola, estube viendo el FormMail para windows y es un clin del original de Matt pero una versión anterior, pero básicamente es lo mismo, checkea esto

En la linea Nro 638 tienes la función

sub send_mail {

y dentro de ella en las línea 709 tenés

$dmbody="";

esa es la variable del cuerpo del mensaje, ahí se va llenando de la siguiente manera...

$dmbody = $dmbody . "Below is the result of your feedback form. It was submitted by\r\n";

Lo que hace el . es sumar nueva info a lo que ya había, ahí le puedes cambiar los textos y los estilos a HTML...Se entiende?

En la línea 731 tenés $dmbody = $dmbody . "$field: $Form{$field}\r\n\r\n";

cambialo por

$dmbody = $dmbody . "<b>$field:</b> $Form{$field}\r\n\r\n";

Lo que si no se como especificar que el mails se enviará en formato HTML ya que usa un subprograma para enviar el mail y ese no lo tengo...Ni lo conozco...

Checkalo y avisame...

Saludos
__________________
Esteban Quintana
  #6 (permalink)  
Antiguo 11/04/2005, 04:48
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Pamela Escribió

Te agradezco muchiiiisimo tu respuesta, ahora voy entendiendo un poquito mas este tipo de archivo.

Con respecto a tu respuesta:

$dmbody = $dmbody . "Below is the result of your feedback form. It was submitted by\r\n";

Lo que hace el . es sumar nueva info a lo que ya había, ahí le puedes cambiar los textos y los estilos a HTML...Se entiende?

Significa que debo colocar:
$dmbody = <FONT SIZE="4" FACE="Comic Sans,Helvetica, Serif">$dmbody</FONT>

ES ESI?

por favor confirmame PLEEEASEEE.
besitos. chao
__________________
Esteban Quintana
  #7 (permalink)  
Antiguo 11/04/2005, 04:55
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
$dmbody = <FONT SIZE="4" FACE="Comic Sans,Helvetica, Serif">$dmbody</FONT>

Esto está mal sintácticamente, fijate que lo correcto sería

$dmbody = qq~<FONT SIZE="4" FACE="Comic Sans,Helvetica, Serif">$dmbody</FONT>~;

Porque:
todas las sentencias Perl terminan en un ;
con ~~le dices cual es el principio y el final de $dmbody
puedes usar q o qq, la primera toma todo literal y la segunda interpreta la variable de adentro ($dmbody)

Pero esto lo debes hacer a lo último de todo, cuando la variable $dmbody ya tiene la información cargada, sino sería

$dmbody = $dmbody . '<font size="2" ...>Below is the result of your feedback form. It was submitted by</font>' . "\r\n";

Se entiende ?

Espero que te sirva

Saludos
PD: Respondeme por acá mismo...En este Post
__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 11/04/2005, 08:37
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail

Perfecto, voy a probar estas indicaciones y te comento por cualquier cosa.

Teagradezco una vez mas por tu apoyo.

besitos. chao.
  #9 (permalink)  
Antiguo 11/04/2005, 13:53
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
personalizar Formmail

Hol nuevamente monoswim,

me olvideo aclararte lo siguiente:

tengo estas dos lineas (basados en tus indicaciones anteriores)

$dmbody = $dmbody . "<b>$field:</b> $Form{$field}\r\n\r\n";
$dmbody = qq~<FONT SIZE="4" FACE="Comic Sans,Helvetica, Serif">$dmbody</FONT>~;

Cual dejo?

o Como las uno si es quedeben ir juntas, tal cual como aparecian sin las modificaciones que me habias indicado, asi estaban:

#$dmbody = $dmbody . "$field: $Form{$field}\r\n\r\n";

de antemano muchas gracias.
besitos.chao.

Última edición por pameladelreal; 11/04/2005 a las 13:56 Razón: me falto informacion
  #10 (permalink)  
Antiguo 11/04/2005, 19:26
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Bueno, lo que tienes que hacer es entender un poco como trabaja la función que estás modificando...

la sentencia #$dmbody = $dmbody . "$field: $Form{$field}\r\n\r\n"; está en un bucle, que lo que hace es ver toda la info que está en tu formulario y por cada campo añadirlo al mensaje que se enviará por mail...

o sea que

$dmbody = $dmbody . "<br>$field:</b> $Form{$field}\r\n\r\n";

Es correcta...

Pero una vez que en $dmbody tienes toda la info del formulario cargada...Puedes darle estilo a toda la variable, o sea a todo el mail que se enviará...y lo haces así

$dmbody = qq~<FONT SIZE="4" FACE="Comic Sans,Helvetica, Serif">$dmbody</FONT>~;

o sea que no es una u otra sino que ambas, pero una adentro del bucle (for, foreach, while, el que sea) y la otra una vez que está todo cargado...

Se entiende ?

Para aprender más sobre bucles y esas cosas te recomiendo los tutoriales de perlenespanol.com te servirán mucho...

Espero que te sirva y cualquier cosa preguntame sin problema...

Saludos
__________________
Esteban Quintana
  #11 (permalink)  
Antiguo 11/04/2005, 20:05
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
Perfecto, entonce basados en tus respuesta me nace el siguiente codigo:

foreach $field (sort keys %Form) {

# If the field has a value or the print blank fields option #
# is turned on, print out the form field and value. #
if ($Config{'print_blank_fields'} || $Form{$field} ||
$Form{$field} eq '0') {
$dmbody = $dmbody . "<b>$field:</b> $Form{$field}\r\n\r\n";

}
}
$dmbody = qq~<FONT SIZE="4" FACE="Comic Sans,Helvetica, Serif">$dmbody</FONT>~;
}

Esta bien el codigo, ya que como tu me indicas primero el sistema o bucle, recolecta todo lo del formulario y sale del bucle y hecho esto le aplica el formato que deseo.

Esta bien?
Porfa repondeme PLEEEASSEEEE.
De antemano te lo agradezco mucho.
besitos.chao.
  #12 (permalink)  
Antiguo 11/04/2005, 20:07
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail

Disculpa es que se me envio el mensaje dos veces.

Espero tu respuesta.
besitos. chao

Última edición por pameladelreal; 11/04/2005 a las 20:08 Razón: envio doble del mensaje
  #13 (permalink)  
Antiguo 12/04/2005, 05:48
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Pues si, sería así...Pero fijate que ese bucle lo hace dos veces una con sort y otra sin sort...Es que depende dee como lo hallas configurado

Líneas 718, 751, 764, 775

Saludos
__________________
Esteban Quintana
  #14 (permalink)  
Antiguo 12/04/2005, 07:36
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail

Perfeeeeeccto, eres genial, te agradezco mucho tu buena voluntad y claridad es responde a mis repetidas consultas, eso quiere decir que eres bastante paciente para decicarte a esto.

Una ultimas consultas:
1.- Como coloco una imagen al principio del mail
2.- como coloco un color de fondo al mail.

Espero tu pronta respuesta. Y te agradezco nuevamente por tu ayuda. He aprendido mucho.

Una GRAN abrazo, besitos. chao.
  #15 (permalink)  
Antiguo 12/04/2005, 09:24
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
En la línea 709 tenés

$dmbody="";

ahí empieza la variable, colocalo así...

$dmbody='<html><body background="http://www.dom.com/imagen.jpg">';

y colocale el HTML quei quieras...

Saludos
__________________
Esteban Quintana
  #16 (permalink)  
Antiguo 12/04/2005, 15:36
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail ahora si lo ultimo

Hola nuevamente.

Existe el backcolor para color de fondo. Y si es asi como se especifica el color, en hexadecimal, por ej.- #ffffff

Ya que lo que necesito.... es colocar una imagen al comienzo del mail y un color para el fondo del mail y luego de la imagen los datos del formulario.

Yo se que el mail llega con los datos de esta manera:

curso = Administracion_de_Empresas
Nombre y Apellidos = Perico Los palotes
rut = 12345678-9
etc. etc. etc.

Necesito dar por ejemplo negrita a las etiquetas y un color azul marino y al contenido de las variables (lo que esta a la derecha del signo =) un color rojo vino o parecido.

Y lo ultimo ahora si.

Es posible que estos valores (contenido de las variables) vayan como encerradas en un marco (como si fuesen dentro de un textbox).

Espero puedas ayudarme lo mas pronto que puedas ya que es casi lo ultimo, mas que nada es para personalizar de mejor manera el mail al cliente.

Te agradezco todos mis abusos de tu tiempo, eres una persona muy especial y espero que siempre seas recompensado de la mejor manera que te mereces.

Espero ansiosamente lo mas pronto posible tu respuesta.

besitos. chao.
  #17 (permalink)  
Antiguo 12/04/2005, 15:51
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Es que ya tienes todo armado como para colocar el HTML que quieras, cuando yo le coloqué el <b>...</b> era como ejemplo para que veas como le coloqco negrita, a lo otro le puedes colocar un <font y darle todo el estilo que quieras...

Pero eso ya es HTML, no PERL...

Saludos
__________________
Esteban Quintana
  #18 (permalink)  
Antiguo 12/04/2005, 16:20
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail

EN DEFINITIVA y disculpa mi ignorancia o porfiadez.

En que lineas debo trabajar para aplicar lo que te comente en mi pregunta anterior.

Lo otro no me indicastes si existe el backcolor y donde y como aplicarlo.

Bueno, eso es todo.

Una vez mas mil gracias.

besitos. chao.
  #19 (permalink)  
Antiguo 12/04/2005, 16:46
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
ayuda con formmail

Hice una pruebas con las indicaciones que has dado pero, el mail me sigue apareciendo igual tal cual como te muestro a continuacion:


<FONT SIZE=3D"4" FACE=3D"Comic Sans,Helvetica, Serif">----------------------=
-----------------------------------------------------

curso: Gesti=F3n_de_Compras

nombres: Robert Sanchez

rut: 12345678-9

razon: Robert Sanchez

empresa: IdeasGroup

cargo: gerente

fonocontacto: 123456

celular: 45646556

mail: [email protected]

fax: 154487

calle: caceres

numero: 8-a

comuna: rancagua

ciudad: rancagua

pais: chile

razonsocial: IDEASWEB

rutrazon: 4555666-8

fonorazon: 844477777

Submit: Enviar Inscripcion

</FONT>---------------------------------------------------------------------=
------

Que hice mal. que lienas debo personalizar y como para que aparezcan con la fuente y tipo de letra que indico en el codigo?

PLEEEESSSE HELPMEEE one mare TIME.
  #20 (permalink)  
Antiguo 12/04/2005, 17:12
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Para cambiarlo debes primero entenderlo, y me parece que hasta ahora no me entendiste ni medio jajaja...

Lo primero que debes hacer es que te comprenda el HTML que le colocas...Si te aparece el

<FONT SIZE=3D"4" FACE=3D"Comic Sans,Helvetica, Serif">

es porque no entiende que eso es HTML sino que lo trabaja como texto, no se si este script está preparado para mandar info por HTML, para verificarlo te diría que pruebes cambiando

$dmbody="";

por

$dmbody="Content-type: text/html\n\n";

Prueba eso a ver si manda como HTML...

Sino pregunta a los que te lo dieron en el hosting o fijate la documentación del sitio web, puse un link en el FAQ de este foro..(los primeros post)

Saludos
__________________
Esteban Quintana
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 03:03.