Autor Tema: Enviar mensajes a email...  (Leído 2072 veces)

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Enviar mensajes a email...
« en: 24 de Julio de 2007, 23:09:39 pm »
Buenas,

Sé que ya hay muchos scritps como este, pero cómo yo tenía que hacer uno, pues ya de paso lo pongo por aquí.

<?php

if(function_exists("mail")) { //comprobamos si existe la función mail

$emails = array("email1|nombre1","email2|nombre2","email3|nombre3","email4|nombre4"); // Recordar que PHP empieza a contar desde 0, email1|nombre1 = $emails[0]; email2|nombre2 = $emails[1]; etc...

if(isSet($_POST["enviar"])) {
$texto "\n
Formulario de contacto (by FeDe - www.phperos.net)\n
\n
Nombre: 
{$_POST["nombre"]} \n
Email: 
{$_POST["email"]} \n
Mensaje: \n
{$_POST["mensaje"]} \n
=========================
IP: 
{$_SERVER["REMOTE_ADDR"]} \n
Fecha "
.date("H:i:s d/m/Y") . "\n
=========================

By FeDe - Www.PHPeros.NeT"
;
$cabeceras "From: {$_POST["email"]} \r\n" .
    
"Reply-To: {$_POST["email"]} \r\n" .
    
"X-Mailer: PHP/" phpversion();
if(
mail($_POST["emailenv"],"Contacto [PHPContact v1 by FeDe - Phperos.net]",$texto,$cabeceras)) {
print 
"Email de contacto enviado correctamente";
} else {
print 
"Hubo algún error al enviar el email";
}

} else {

?>
<form action="<?=$_SERVER["PHP_SELF"];?>" method="POST">
Nombre: <input type="text" name="nombre"><br>
Email: <input type="text" name="email"><br>
Para: <select name="emailenv">
<?
$c 
count($emails);
for(
$i=0;$i $c$i++) {
$mail explode("|",$emails[$i]);
print 
"<option value=\"{$mail[0]}\">{$mail[1]}</option>";
}
?>
</select>
Mensaje:<br>
<textarea name="mensaje"></textarea><br>
<i>*La IP Se guardará por seguridad</i><br>
<input type="submit" name="enviar" value="Enviar Email"><br>
</form>
<?
}

} else {

print 
"<b>Error:</b> La función mail no está activa.";

}

?>


Espero que os sirva.

Saludos :)
« Última modificación: 25 de Julio de 2007, 00:15:32 am por FeDe »
Sin Firma me haces una? :P

Comunidad PHPeros

Enviar mensajes a email...
« en: 24 de Julio de 2007, 23:09:39 pm »

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Enviar mensajes a email...
« Respuesta #1 en: 25 de Julio de 2007, 00:18:28 am »
Buen aporte ;)
Karma +
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Enviar mensajes a email...
« Respuesta #2 en: 25 de Julio de 2007, 12:48:25 pm »
Yo lo mejoraria, lo de | me parece totalmente primitivo e innecesario.

He aquí tu codigo depurado por mi:

<?PHP
if(function_exists("mail")) { //comprobamos si existe la función mail
	
$emails = array(
	
	
"email1@email.com" => "Nombre 1",
	
	
"email2@email.com" => "Nombre 2",
	
	
"email3@email.com" => "Nombre 3",
	
	
"email4@email.com" => "Nombre 4");
	
if(isset(
$_POST[&#39;enviar&#39;])) {
	
	
$texto "\n
	
	
Formulario de contacto (by FeDe - www.phperos.net)\n
	
	
\n
	
	
Nombre: 
{$_POST["nombre"]} \n
	
	
Email: 
{$_POST["email"]} \n
	
	
Mensaje: \n
	
	
{$_POST["mensaje"]} \n
	
	
=========================
	
	
IP: 
{$_SERVER["REMOTE_ADDR"]} \n
	
	
Fecha "
.date("H:i:s d/m/Y") . "\n
	
	
=========================
	
	

	
	
By FeDe - Www.PHPeros.NeT"
;
	
	
$cabeceras "From: {$_POST["email"]} \r\n" .
	
	
	
"Reply-To: {$_POST["email"]} \r\n" .
	
	
	
"X-Mailer: PHP/" phpversion();
	
	
if(
mail($_POST["emailenv"],"Contacto [PHPContact v1 by FeDe - Phperos.net]",$texto,$cabeceras)) {
	
	
	
print 
"Email de contacto enviado correctamente";
	
	
} else {
	
	
	
print 
"Hubo algun error al enviar el email";
	
	
}
	
} else {
	
?>
	
	
<form action="<?=$_SERVER["PHP_SELF"];?>" method="POST">
	
	
Nombre: <input type="text" name="nombre"><br>
	
	
Email: <input type="text" name="email"><br>
	
	
Para: <select name="emailenv">
	
	
<?
	
	
foreach (
$emails as $correo => $nombre) {
	
	
	
print 
"<option value=\"{$correo}\">{$nombre}</option>";
	
	
}
	
	
?>
	
	
</select>
	
	
Mensaje:<br>
	
	
<textarea name="mensaje"></textarea><br>
	
	
<i>*La IP Se guardará por seguridad</i><br>
	
	
<input type="submit" name="enviar" value="Enviar Email"><br>
	
	
</form>
	
<?
	
}
} else {
print 
"<b>Error:</b> La funcion mail no esta activa.";
}
?>


« Última modificación: 25 de Julio de 2007, 12:52:02 pm por naveda »
Por favor, leete las Normas


Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #3 en: 31 de Julio de 2007, 22:10:11 pm »
Buenas,

Naveda, es lo mismo que he hecho yo, pero utilizando en array "=>", cosa que ami en los arrays no se me da nada bien, pero bueno, sí podría ser también así :)

Saludos ^^
Sin Firma me haces una? :P

Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #4 en: 31 de Julio de 2007, 22:19:57 pm »
jejeje FeDe mira aqui los arrays-> http://www.phperos.net/foro/index.php/topic,971.0.html nose si esta todo pero lo que esta esta muy bien explicado.
Saludos....
<?php  Balita[PHPeros User];  ?>

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #5 en: 04 de Octubre de 2007, 01:54:30 am »
em es justo lo que taba buscando pero no entiendo que se ignifica eso de email1 email2 email3, etc..

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #6 en: 04 de Octubre de 2007, 16:01:47 pm »
Buenas,

Pues si quieres que vaya destinado a varias direcciones modificas:
$emails = array("email1|nombre1","email2|nombre2","email3|nombre3","email4|nombre4");
a:
$emails = array("direccion@tudominio.com|Mara","direccion2@hotmail.com|Tal","pasucal@google.com|Pascual");

y así sucesivamente hasta que pongas los emails y el nombre (separados por "|" ) para el formulario :)

Saludos :P
Sin Firma me haces una? :P

Desconectado Frank005

  • PHPero Experto
  • *****
  • Mensajes: 580
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #7 en: 04 de Octubre de 2007, 16:18:56 pm »
Hola...

Sorry por la pregunta pero saben de algunn Hosting GRATIS sin publicidad que tenga desbloqueada la funcion mail() ?? osea que funcione

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #8 en: 04 de Octubre de 2007, 16:31:22 pm »
Mmm,, Frank gratishost creo que la tiene activa pero compruébalo con este código:

<?php
if(function_exists("mail")) {
print 
"Función Mail activada";
} else {
print 
"Función Mail Desactivada";
}
?>


Saludos:P
Sin Firma me haces una? :P

Desconectado Frank005

  • PHPero Experto
  • *****
  • Mensajes: 580
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #9 en: 04 de Octubre de 2007, 16:54:44 pm »
Hola...

No FeDe, no la tiene activada. Porque yo cree un Formulario y cuando lo subo me sale error en la linea de mail() .. Sabes de algun hosting gratis sin publicidad que tenga activada esa funcuion ??

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #10 en: 04 de Octubre de 2007, 20:54:48 pm »
Buenas,

Pues sinceramente, no... yo es que uso hosting privado, en un servidor mío... jejej

Alguien que le pueda ayudar?? :P

Saludos :)
Sin Firma me haces una? :P

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #11 en: 06 de Octubre de 2007, 01:16:16 am »
yo tambien tengo el mismo  problema con los hosts esos, y no puedo probar un formmail ni tampoco una funcion mail que le puse al reistro de G2K por la misma razon :(

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #12 en: 06 de Octubre de 2007, 19:04:49 pm »
alojalo.info tiene activada la funcion mail()

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #13 en: 06 de Octubre de 2007, 19:09:49 pm »
oigan yo pongo en el codigo esto
Código: [Seleccionar]
<?php

if(function_exists("mail")) { //comprobamos si existe la función mail

$emails = array("mara_phpera@hotmail.com|Webmaster"); // Recordar que PHP empieza a contar desde 0, email1|nombre1 = $emails[0]; email2|nombre2 = $emails[1]; etc...

if(isSet($_POST["enviar"])) {
$texto "\n
Formulario de contacto (by FeDe - www.phperos.net)\n
\n
Nombre: 
{$_POST["nombre"]} \n
Email: 
{$_POST["email"]} \n
Mensaje: \n
{$_POST["mensaje"]} \n
=========================
IP: 
{$_SERVER["REMOTE_ADDR"]} \n
Fecha "
.date("H:i:s d/m/Y") . "\n
=========================

By FeDe - Www.PHPeros.NeT"
;
$cabeceras "From: {$_POST["email"]} \r\n" .
    
"Reply-To: {$_POST["email"]} \r\n" .
    
"X-Mailer: PHP/" phpversion();
if(
mail($_POST["emailenv"],"Contacto [PHPContact v1 by FeDe - Phperos.net]",$texto,$cabeceras)) {
print 
"Email de contacto enviado correctamente";
} else {
print 
"Hubo algún error al enviar el email";
}

} else {

?>

<form action="<?=$_SERVER["PHP_SELF"];?>" method="POST">
Nombre: <input type="text" name="nombre"><br>
Email: <input type="text" name="email"><br>
Para: <select name="emailenv">
<?
$c = count($emails);
for($i=0;$i > $c; $i++) {
$mail = explode("|",$emails[$i]);
print "<option value=\"{$mail[0]}\">{$mail[1]}</option>";
}
?>
</select>
Mensaje:<br>
<textarea name="mensaje"></textarea><br>
<i>*La IP Se guardará por seguridad</i><br>
<input type="submit" name="enviar" value="Enviar Email"><br>
</form>
<?
}

} else {

print "<b>Error:</b> La función mail no está activa.";

}

?>
y lo llamo form.php

pero no me sale ninguna opcion para elegir
« Última modificación: 18 de Abril de 2008, 23:02:44 pm por x.mara.x »

Desconectado C-ChacK

  • PHPer@ Fijo
  • ***
  • Mensajes: 147
  • Karma: 3
  • --] chacKos [--
    • Ver Perfil
Re: Enviar mensajes a email...
« Respuesta #14 en: 08 de Octubre de 2007, 16:53:59 pm »
Hola, he alojado este script en un servidor ".com" y el mensaje no llega, hay algun error en el código o algo?