Foros del Web » Programando para Internet » PHP »

como mandar mensajes de correo con html?

Estas en el tema de como mandar mensajes de correo con html? en el foro de PHP en Foros del Web. Salutdos a todos los conocedores aki pedi ayuda en algun foro de como enviar mensajes en html sin usar cliente de correo o webmails y ...
  #1 (permalink)  
Antiguo 07/08/2006, 20:18
 
Fecha de Ingreso: noviembre-2002
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
como mandar mensajes de correo con html?

Salutdos a todos los conocedores aki

pedi ayuda en algun foro de como enviar mensajes en html sin usar cliente de correo o webmails y me mandaron este codigo php

Cita:
Para enviar mensajes en formato html simplemente uso la función mail() de php.

Es decir, construyo el mensaje html:
$mensaje = "<html><head>...</head><body>... Programitas ... etc </body></html>";

y le paso como parámetro (en la variable headers) que el contenido del mensaje está en formato html:
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "X-Mailer: php\n";

Finalmente, procedo al envío:
mail("Lista de Distribucion", $cabecera, $mensaje, $headers);
que hago con esto? me he instalado php en mi makina (easyphp) para probar pero como lo hago? este codigo lo meto en un archivo html? please ayudenme no se mucho php pero algo me dice ke este script si funciona solo ke me falta saber algo mas para hacerlo funcionar

agradezco sinceramente alguna ayuda

saludos
  #2 (permalink)  
Antiguo 08/08/2006, 02:49
 
Fecha de Ingreso: abril-2002
Mensajes: 1.013
Antigüedad: 15 años, 7 meses
Puntos: 8
pues lo pones en el directorio en el que ejecutas el código php (el fichero debe tener extensión .php), y en la url algo como:

http://127.0.0.1/directorio/index.php

Salu2
  #3 (permalink)  
Antiguo 08/08/2006, 07:25
 
Fecha de Ingreso: junio-2004
Mensajes: 616
Antigüedad: 13 años, 6 meses
Puntos: 25
Servidor de correo

el método mail() de PHP funciona siempre y cuando tengas configurado el sendmail en esa máquina. Pero si no es así, no podrás enviar ningún correo.

(normal ¿no? necesitas un servidor de correo para poder enviar)

Si no quieres usar tu propio servidor de correo, si no que quieres usar el de tu proveedor, u cualquier otro SMTP al que tengas acceso, quizás te convenga usar la herramienta gratuita PHP Mailr, que puedes descargar de http://phpmailer.sourceforge.net/

En cualquier caso, y aunque no es complicado, el tema es un poco más complejo de lo que estás suponiendo.

Un saludo de,
eContento
__________________
eContento
- Mis artículos, tutoriales y labs
- Mis jsfiddles
  #4 (permalink)  
Antiguo 08/08/2006, 12:04
Avatar de onlykfk  
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 12 años, 3 meses
Puntos: 1
Copia el siguiente código a un nuevo documento de texto pero con la extensión php o phtml (p.ej. enviamail.php / enviamail.phtml)
Código:
<?
$mensaje = "<html><head>...</head><body>... Programitas ... etc </body></html>";

//y le paso como parámetro (en la variable headers) que el contenido del mensaje está en formato html:
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "X-Mailer: php\n";
//Finalmente, procedo al envío:
mail("[email protected]", $cabecera, $mensaje, $headers); 
?>
Y el archivo lo pones en tu directorio donde reciden tus paginas Web
(para IIS por ejemplo seria c:\Inetpub\wwwroot\ )

y ahora si checas la url (p. ej. http://localhost/enviamail.php / http://localhost/enviamail.phtml)

La página no imprime algo en el explorer, vamos imprime nada, pero si revisas la bandeja de entrada del(los) destinatario(s) el mensaje habra salido con exito de tu servidor

Saludos
__________________
Yo tan sólo se, que no he senado
  #5 (permalink)  
Antiguo 09/08/2006, 01:49
 
Fecha de Ingreso: noviembre-2002
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
no me sale

no me sale...

me dice esto:

Notice: Undefined variable: cabecera in c:\archivos de programa\easyphp1-8\www\enviamail.php on line 9

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\archivos de programa\easyphp1-8\www\enviamail.php on line 9
----------------------

por lo poco que deduzco el problema esta en eso del smtp?
como puedo hacer para activarlo en mi makina?

y mi archivo php tambien estara bien?

Código PHP:
<?
$mensaje 
"<HTML><HEAD></HEAD><BODY bgColor=#f0f0f0>esto esta bien? bla bla bla bla</BODY></HTML>";

//y le paso como parámetro (en la variable headers) que el contenido del mensaje está en formato html:
$headers "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "X-Mailer: php\n";
//Finalmente, procedo al envío:
mail("[email protected]"$cabecera$mensaje$headers); 
?>
en cual es la falla?

onlykfk a ti te funciona?

muchas gracias a todos por sus respuestas
  #6 (permalink)  
Antiguo 09/08/2006, 02:44
 
Fecha de Ingreso: abril-2002
Mensajes: 1.013
Antigüedad: 15 años, 7 meses
Puntos: 8
O bien defines antes antes $cabecera, o bien pones el texto directamente

$cabecera = "asunto del mensaje" ;

mail("[email protected]", "asunto del mensaje", $mensaje, $headers);
  #7 (permalink)  
Antiguo 09/08/2006, 03:31
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Tema trasladado desde (x)html
  #8 (permalink)  
Antiguo 09/08/2006, 09:45
Avatar de onlykfk  
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 12 años, 3 meses
Puntos: 1
Cierto, me falto definir la variable $cabecera

Perdón, pero de ahí en fuera a mí sí me funcionó
__________________
Yo tan sólo se, que no he senado
  #9 (permalink)  
Antiguo 10/08/2006, 00:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
asi?

<?
$cabecera = "mi asunto de mensaje" ;

$mensaje = "<HTML><HEAD></HEAD><BODY bgColor=#f0f0f0>esto esta bien? bla bla bla bla</BODY></HTML>";

//y le paso como parámetro (en la variable headers) que el contenido del mensaje está en formato html:
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "X-Mailer: php\n";
//Finalmente, procedo al envío:
mail("[email protected]", $cabecera, $mensaje, $headers);
?>

me sale esto:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\archivos de programa\easyphp1-8\www\enviamail.php on line 11

Que otra cosa mas falta hacer?
por favor sigan ayudandome...

Saludos amigos del foro
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 20:56.