Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Envio de E-mail con php [ función mail() ]

PHP, HTML, CSS, JS, jQuery, etc.

0
No hay votos
 
Votos totales: 0

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 32

Envio de E-mail con php [ función mail() ]

#1

Mensaje por Alorse »

Este es un sencillo tutorial de como crear un formulario para el envío de Email en una pagina web, es sencillo y básico, ya no usar esta función no es nada del otro mundo, igual cualquier duda me la comentan.

Empezaremos con la parte del PHP y luego seguiremos con el JavaScript y el HTML.

1) Crearemos un archivo llamado "mail.php"

2) A nuevo archivo agregaremos la función encargada de enviar los email y su organización

Código: Seleccionar todo

<?php
if($_POST['enviar']) {
    $de = "tuemail@mail.net";
    $para = $_POST["recibe"];
    $asunto = $_POST["asunto"];
    $nombre = $_POST["nombre"];
    $msj = $_POST["mensaje"];
    $sheader="From:".$de."\nReply-To:".$de."\n";
    $sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
    $sheader=$sheader."Mime-Version: 1.0\n";
    $sheader=$sheader."Content-Type: text/html";
    mail($para,$asunto,$msj,$sheader);

    echo 'Email enviado correctamente.';
}
/*Código Proporcionado por HiperAcme.net*/
?>
3) Ahora en el mismo archivo mas abajo agregaremos el código JavaScript y HTML.

Código: Seleccionar todo

<head>
<title>Envio de Mail</title>
</head>

<script>
function vmail(form){
email= mail.recibe.value;
	if(!(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(email))) 
	{
		document.forms[0].recibe.style.backgroundColor='#FF8080';
	} 
	else 
	{
		document.forms[0].recibe.style.backgroundColor='#57FF53';
	}
}

function $(id){
    return document.getElementById(id);
}

function h(){
    $('s').disabled=($('a').value.length>9 &&$('e').value.length>3 &&$('i').value.length>10 &&$('o').value.length>3)?0:1;
}
window.onload=function(){
setInterval('h()',10);
}
</script>

<html>
<body>

<form name="mail" method="post" action="mail.php"><br />
<table width="380" border="0" align="center">
  <tr>
    <td>
<label>Su Nombre:</label></td>
    <td><input type="text" name="nombre" class="right" id="o" /></td>
    </tr>
  <tr>
    <td>
<label>Para:</label></td>
    <td><input type="text" name="recibe" class="right" onKeyDown="vmail(this.form)" onKeyUp="vmail(this.form)" id="a" /></td>
    </tr>
  <tr>
    <td><label>Asunto:</label></td>
    <td>
    <input type="text" name="asunto" class="right" id="e" /></td>
    </tr>
  <tr>
    <td><label>Mensaje:</label></td>
    <td><textarea name="mensaje" class="right" id="i" rows="6" cols="30"></textarea></td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="center"><input type="submit" name="enviar" value="Enviar" id="s"/></td>
    </tr>
</table>
</form>

</body>
</html>
El JavaScript lo ponemos para validar que el email sea correcto y para que no se pueda usar el botón "Enviar" hasta que todos los campos estén llenos.

Es todo, ya tenemos nuestro sistema de envío de emails, lo subimos a nuestro servidor y lo abrimos para verificar su funcionamiento.

Pueden encontrar el script funcionando en este link

IMPORTANTE: Este Script no funciona en local (localhost) debe estar en un hosting que tenga la funcion mail() habilitada.

Espero les sirva, Cualquier cosa me preguntan y con gusto les ayudare.




Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Volver a “🆘 Recursos Webmaster”