Foros del Web » Programando para Internet » PHP »

Formato de Email en php

Estas en el tema de Formato de Email en php en el foro de PHP en Foros del Web. Hola Colegas, necesito configurar el email que recibo de la siguiente manera: tusitio.com - Compra Contra ReembolsoEmail enviado por pablo (prueba @prueba.con ) el dia ...
  #1 (permalink)  
Antiguo 20/04/2006, 00:31
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 11
Formato de Email en php

Hola Colegas, necesito configurar el email que recibo de la siguiente manera:

tusitio.com - Compra Contra ReembolsoEmail enviado por pablo (prueba@prueba.con) el dia Thursday, April 20, 2006 at 02:03:24---------------------------------------------------------------------------Nombre: Direccion: Localidad: Provincia: CP: Telefono: Email: Como_nos_conociste: Productos: ---------------------------------------------------------------------------Quisiera que tenga esta estructura, con esa linea de puntos y esa distribusion de datos, pero no se como lograrlo.Las variables las recibo, pero desordenadas y sin estas lineas y titulos arriba. Esto fue generado por un script CGI de FormMail.y mi intencion es migrar para php. Alguien me podra anexar a mi codigo, para que quede asi? Este es parte del script CGI, (creo q es la parte que le da formato)# Otherwise, begin printing the response page. # else { # Print HTTP header and opening HTML tags. # print "Content-type: text/html\n\n"; print "<html>\n <head>\n"; # Print out title of page # if ($Config{'title'}) { print "<title>$safeConfig{'title'}</title>\n" } else { print "<title>Thank You</title>\n" } print " </head>\n <body"; # Get Body Tag Attributes # &body_attributes; # Close Body Tag # print ">\n <center>\n"; # Print custom or generic title. # if ($Config{'title'}) { print "<h1>$safeConfig{'title'}</h1>\n" } else { print "<h1>Thank You For Filling Out This Form</h1>\n" } print "</center>\n"; print "Below is what you submitted to $safeConfig{'recipient'} on "; print "$date<p><hr size=1 width=75\%><p>\n"; # If a sort order is specified, sort the form fields based on that. # if ($Config{'sort'} =~ /^order:.*,.*/) { # Set the temporary $sort_order variable to the sorting order, # # remove extraneous line breaks and spaces, remove the order: # # directive and split the sort fields into an array. # $sort_order = $Config{'sort'}; $sort_order =~ s/(\s+|\n)?,(\s+|\n)?/,/g; $sort_order =~ s/(\s+)?\n+(\s+)?//g; $sort_order =~ s/order://; @sorted_fields = split(/,/, $sort_order); # For each sorted field, if it has a value or the print blank # # fields option is turned on print the form field and value. # foreach $sorted_field (@sorted_fields) { local $sfname = &clean_html($sorted_field); if ($Config{'print_blank_fields'} || $Form{$sorted_field} ne '') { print "<b>$sfname:</b> $Form{$sorted_field}<p>\n"; } } } y este es mi php (sacado de un foro, ya que aun no manejo php)<?php
if(isset($_POST["nombre"]) && isset($_POST["titulo"]) && isset($_POST["mail"]) && isset($_POST["mensaje"]) ){
$fecha = date("D-M-y H:i");
$mymail = "[email protected]";
$subject = "Desde el Sitio.. =)";
$contenido = $_POST["nombre"]." Escribio :\n";
$contenido .= $_POST["mensaje"]."\n\n";
$contenido .= "el mensaje se escribio el ".$fecha;
$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["mail"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>Mas que agradecido
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 21/04/2006, 12:35
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 14 años, 1 mes
Puntos: 2
Intenta ordenar el post, porque no se entiende casi nada
  #3 (permalink)  
Antiguo 21/04/2006, 12:48
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Si pudieras ordenerar tu código y ser mas específico con lo que necesitas porfavor.
  #4 (permalink)  
Antiguo 22/04/2006, 00:20
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 11
Hola, si disculpas por que a pesar de haberlo posteado bien, salio todo junto, e inentendible, les cuento, tengo un formulario en un script CGI de FormMail que recibo emails con el siguiente formato:


Mi sitio.com - Compra Contra Reembolso
Email enviado por salazar esteban (
[email protected]) el dia Thursday, April 20, 2006
at 18:28:06
------------------------------------------------------------------------

Nombre:
Direccion:
Localidad:
Provincia:
CP:
Telefono:
Email:
Como_nos_conociste:
Productos:
------------------------------------------------------------------------

y estoy migrando de este cgi a php, por que me han hablamo muy bien, y ademas no es un script gratuito sino algo mas confiable y confirgurable. Debido a que por el momento no manejo muy bien php, los emails que recibo con el email en php me salen todos apilados, juntos y en cualquier orden, yo necesitaria modificar mi script para que reciba en el formato que utilizo en el CGI.

El scrip que utilizo php es:

<?php
if(isset($_POST["nombre"]) && isset($_POST["titulo"]) && isset($_POST["mail"]) && isset($_POST["mensaje"]) ){
$fecha = date("D-M-y H:i");
$mymail = "
[email protected]";
$subject = "Desde el Sitio.. =)";
$contenido = $_POST["nombre"]." Escribio :\n";
$contenido .= $_POST["mensaje"]."\n\n";
$contenido .= "el mensaje se escribio el ".$fecha;
$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["mail"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>


como tiene que estar para que sea igual al CGI
Adjunto el CGI tambien por la dudas (la parte donde creo que obtiene el formato)

sub send_mail {
# Localize variables used in this subroutine. #
local($print_config,$key,$sort_order,$sorted_field ,$env_report);

# Open The Mail Program
open(MAIL,"|$mailprog");

print MAIL "To: $Config{'recipient'}\n";
print MAIL "From: $Config{'email'} ($Config{'realname'})\n";

# Check for Message Subject
if ($Config{'subject'}) { print MAIL "Subject: $Config{'subject'}\n\n" }
else { print MAIL "Subject: WWW Form Submission\n\n" }

print MAIL "Below is the result of your feedback form. It was submitted by\n";
print MAIL "$Config{'realname'} ($Config{'email'}) on $date\n";
print MAIL "-" x 75 . "\n\n";

if (@Print_Config) {
foreach $print_config (@Print_Config) {
if ($Config{$print_config}) {
print MAIL "$print_config: $Config{$print_config}\n\n";
}
}
}

Mi pedido es debido a que aun no manejo este lenguaje, lo estoy aprendiendo de a poco, y lamentablemente este es un formulario de compra de mi trabajo que tengo que terminar lo antes posible. Desde ya muy agradecido
__________________
-- Nunca te des por vencido, aún vencido -- Web
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 01:50.