Hola.

Seguimos con los howtos este how to tambien es corto simplemente hace lo que se necesita
ENVIAR CORREOS CON PHP

Requerimientos:

  • Conocimiento basico de PHP
  • PHP previamente instalado
  • Servidor de correo previamente instalado

Primero que nada necesitamos un formulario con digamos 2 campos que son:

  • El correo del destinatario
  • El Mensaje que le vamos a enviar

Aqui esta el codigo para el archivo form_mail.html

<form method="post" action="sendmail.php">
    <table width="25%" border="0">
        <tr>
            <td colspan="2">Envio de correos </td>
        </tr>
        <tr>
            <td width="10%">Para</td>
            <td width="90%">
                <input name="email" type="text" id="email" />
            </td>
        </tr>
        <tr>
            <td valign="top">Mensaje</td>
            <td>
                <textarea name="mensaje" cols="50" rows="5" id="mensaje"></textarea>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" name="Submit" value="Enviar" />
            </td>
        </tr>
    </table>
</form>

Como podemos observar el action de la forma es un archivo llamado sendmail.php que se encargara de enviar el correo.

Y por ultimo vamos a crear nuestro archivo que enviara el correo
Aqui esta el codigo del archivo sendmail.php

/* VAMOS A HACERNOS LA VIDA MAS FACIL 
 * EXTRAEMOS DEL REQUEST LOS DATOS Y LOS PASAMOS AUTOMATICAMENTE A VARIABLES
 * DE ESTA MANERA NUESTRAS VARIABLES TENDRAN EL MISMO NOMBRE DE LOS CAMPOS DEL FORMULARIO
*/
/*
 * Comentario extraido de http://www.php-es.com/function.mail.html
 * (Sólo en Windows) Cuando PHP sostiene comunicación con el servidor SMTP directamente, 
 * si un punto es encontrado al comienzo de la línea, éste es removido. 
 * Para contrarestar este comportamiento, reemplace estas ocurrencias con dos puntos
*/
$mensaje=str_replace("\n.", "\n..", $mensaje);

// LE APLICAMOS UN AJUSTE DE LINEA AL TEXTO
$mensaje=wordwrap($mensaje,70);
// ESPECIFICAMOS EN LAS CABECERAS QUE ES EN FORMATO HTML PUENEN REMOVERLAS SI 
// EL FORMATO QUE DESEN ENVIAR ES SOLO TEXT0
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// CREAMOS LA CABECERA PARA QUE APARESCA QUIEN LO ENVIO
$headers .= 'From:<micorreo@miservidor>' . "\r\n";

//Y LISTO ENVIAMOS EL CORREO ASI DE FACIL :D
mail($email,”Titulo del corrreo”,$mensaje,$headers);


como ya es costumbre aqui esta el

10 Respuestas para “Enviar correo con PHP”

  1. Dante
    desde Mexico Dijo:

    Andale Wama haciendo mas mejor compartiendo el codigo con la raza, hechale ganas

    Responder

  2. sdfsdf
    desde Spain Dijo:

    dfvdfvdv

    Responder

  3. victor
    desde Bolivia Dijo:

    Creo que el correo jamas llegara a destino ya que olvidaste algo fundamental, reemplazar “correodestino” por la variable correspondiente:

    cambiar esto:
    mail(“correodestino”,”Titulo del corrreo”,”$mensaje”,$headers);

    por esto:
    mail(“$email”,”Titulo del corrreo”,”$mensaje”,$headers);

    aun asi falta explicar como es que $email logra tener el valor del form.

    Responder

  4. victor
    desde Bolivia Dijo:

    otra cosa las comillas estan por demas…

    mail($email,”Titulo del corrreo”,$mensaje,$headers);

    Responder

    Ruben Omar August 27th, 2008 8:26 pm

    Ruben Omar desde Mexico Dijo:

    Mil gracias por el comentario ya quedo actualizado, :P

    Responder

  5. cristian
    desde Colombia Dijo:

    hola

    Responder

  6. Masilva
    desde Venezuela Dijo:

    El archivo sendmail.php que viene en el archivo zip que se descarga viene vacio

    Responder

    Bliser May 10th, 2010 11:31 am

    Bliser desde Peru Dijo:

    se necesita de un servidor de correos para que funcione el script

    Responder

  7. gift ideas for women
    desde Dijo:

    My cousin is officiating At my tomorrow and does not need something, and this was the perfect gift for that man who likes to produce breakfast
    for his kids and anyone else in work.

    Responder

  8. Sabrina
    desde Dijo:

    Dating sites are for finding sex partners…not lifetime partners- thats nonsense people delude themselves with.

    Responder

Responder