Configurando sendmail en WampServer

Si lees mi blog, aunque sea de vez en cuando (ya se que no lo actualizo muy a menudo), verás que hace ya algún tiempo escribí un post sobre como instalar y configurar WampServer, podéis leer el post aquí. Aunque ya tiene algún tiempo, sigue siendo perfectamente utilizable.

Pues bien, a raíz de unas pruebas que estaba realizando para un proyecto, he necesitado enviar un email desde mi servidor local y me ha puesto manos a la obra para configurarlo de forma correcta.

En primer lugar, os voy a contar lo que necesitamos, para las pruebas, he utilizado una cuenta de gmail, aunque sirve cualquiera si tenemos los datos de configuración (servidor de salida, nombre, contraseña), y utilizar un programa llamado Fake Sendmail que veremos como configurar.

Lo primero que debemos de hacer es descargar el programa Fake Sendmail desde su web en http://glob.com.au/sendmail/

Web de Sendmail
Web de Sendmail

En el apartado de “Install”, pulsamos sobre el texto en azul que pone download sendmail.zip y comenzará la descargar del programa. Si queréis ahorraros ese paso, podéis comenzar la descargar del programa pulsando directamente aquí.

Ahora deberemos descomprimir el programa en una carpeta dentro de nuestra aplicación WampServer. Por ejemplo en “C:\wamp\sendmail”.

Carpeta del Programa
Carpeta del Programa

El siguiente paso, es configurar los parámetros del servidor de correo, para ello tenemos que editar el fichero “sendmail.ini”, uno de los ficheros que hemos guardado en la carpeta.

Debemos localizar los siguientes campos y poner la información de nuestro servidor.

smtp_server=smtp.gmail.com
smtp_port=465
auth_username=tu_nombre_de_usuario@gmail.com
auth_password=tu_password

Si en alguna de las líneas hubiera un punto y coma (;), deberíamos quitarlo para que funcione correctamente.

Ahora debemos de configurar el archivo php.ini de nuestro servidor, si aún no habéis ejecutado WampServer este es el momento de activarlo.
Una vez haya arrancado, pulsamos sobre el icono de WampServer en la parte derecha de la pantalla, y vamos a la opción de PHP y pulsamos sobre php.ini.

Configurar Php
Configurar Php

Se nos abrirá el fichero php.ini y deberemos de buscar la linea que dice “sendmail_path” y la dejamos de la siguiente manera:

sendmail_path =”C:\wamp\sendmail\sendmail.exe -t”

Si habéis descomprimido el programa de sendmail en otra carpeta diferente a la de este ejemplo, deberéis de poner la correcta, la que vosotros estéis usando.
Por último reiniciamos el programa WampServer.

Reiniciar WampServer
Reiniciar WampServer

Si todo ha sido correcto, ya tendremos nuestro sistema configurado para poder enviar emails desde nuestro servidor servidor local.
Tan solo nos queda hacer una prueba, para ello creamos un archivo php donde insertamos el siguiente código.

<?php

$para = ‘destinatario@dominio.com’;
$asunto = ‘Prueba de SMTP local’;
$mensaje = ‘Mensaje de prueba’;
$cabeceras = ‘From: remitente@dominio.com’ . “\r\n” .
‘Reply-To: remitente@dominio.com’ . “\r\n” .
‘X-Mailer: PHP/’ . phpversion();

if(mail($para, $asunto, $mensaje, $cabeceras)) {
echo ‘Correo enviado correctamente’;
} else {
echo ‘Error al enviar mensaje’;
}
?>

Y lo guardamos en nuestro servidor. No olvidéis poner correctamente los datos de dirección de email del ejemplo. A continuación ejecutamos nuestro script, si todo es correcto, os deberá llegar a la cuenta que hayáis indicado un email de confirmación, a su vez, en el navegador os mostrará un mensaje de confirmación.
Si el correo no ha podido ser enviado, también veréis un mensaje de aviso en el navegador, por lo que deberéis de revisar los datos de configuración que hayáis introducido.

En la imagen inferior podéis ver que el mensaje ha llegado correctamente.

Llegada del Correo
Llegada del Correo

Con esto terminamos la configuración de sendmail y WampServer y ya podemos enviar los emails desde nuestro servidor local.

 

 

 

¡¡Comparte!!

26 comentarios sobre “Configurando sendmail en WampServer

  • el 07/04/2014 a las 16:13
    Permalink

    Así por llevar la contraria, la función de sendmail (que es un ‘fake mail’ ya que no usa SMTP directamente), está incluida en XAMPP, que además es multiplataforma, lo que permite tener copias ‘exactas’ en Windows y Linux (por ejemplo); aunque por supuesto, hay otras plataformas que permiten el entorno Apache + PHP + SQL; es cuestión de gustos (o de hilar muy fino) 😉

    Saludos.

    Respuesta
  • el 11/05/2014 a las 4:11
    Permalink

    Hola segui todos tus pasos pero al final manda el mensaje de error al enviar el correo (Es el que se declara en el if)
    Que puede ser? se tiene que configurar en FIreword el puerto ?

    Respuesta
    • el 11/05/2014 a las 10:39
      Permalink

      Revisa las variables, que las tengas bien escritas. En principio a mi no me dio ningún error el firewall. Pero ayudaría que indicadas q error te sale para concretar un poco mas.

      Respuesta
  • el 12/05/2014 a las 20:55
    Permalink

    Este es mi codigo:
    ———————————————-

    —————————————————–
    En pantalla me aparece:
    Email no enviado

    Lo demas lo tengo igual como dice el tutorial….
    E leido que hay q activar algun modulo en wamp>phpextensions y wamp>apachemodules
    ¿Eso se tiene que hacer aqui?

    Respuesta
  • el 12/05/2014 a las 21:09
    Permalink

    ————————————————–

    ————————————————
    smtp_server=smtp.gmail.com
    smtp_port=465
    auth_username=erkrodriguez.m@gmail.com
    auth_password=[“mi contraseña que tengo ya la puse”]

    PHP.INI
    sendmail_path = C:\wamp\sendmail\sendmail.exe -t
    smtp_port = 465

    Respuesta
  • el 12/05/2014 a las 21:10
    Permalink

    ————————————————–
    //
    ————————————————

    Respuesta
  • el 22/08/2014 a las 7:08
    Permalink

    Mi viejo muchas gracias.

    Este es en esencia el mismo tutorial con el cual he configurado el fake sendmail y el .ini de PHP, primero me salía un error Warning respecto el SMTP el cual he solucionado descomentando en php.ini el smtp_path.

    Ahora bien, el Warning no se envia pero recibo el echo de “Mensaje No Enviado”;

    El sendmail lo he descomprimido directo en Wamp.

    Estoy usando GMAIL

    Saludos y Muchas Gracias

    Respuesta
    • el 22/08/2014 a las 12:15
      Permalink

      Hola Dionisio,

      Comprueba esto que te indico:
      1) Revisa la línea del php.ini y comprueba que la tienes correctamente configurada.
      sendmail_path =”C:\wamp\sendmail\sendmail.exe -t”

      Ojo, las rutas tienen que corresponder con tus carpetas.

      2) ¿Has reiniciado el servidor tras la instalación?

      3) en el fichero sendmail.ini, donde se configuran los datos de tu cuenta de correo, revisa que esté todo bien escrito, si alguna de las lineas tiene delante un punto y coma (;), has de eliminarlo.

      4) copia el ejemplo que pongo de php y ejecútalo en el server, cambiando las direcciones.

      Respuesta
  • el 22/08/2014 a las 20:54
    Permalink

    Buenas tardes seguí todos los pasos y me lanza el mensaje de “Error al enviar el mensaje” tengo el wamp configurado y el sendmail también, no se que podrá ser y llevo ya horas en esto, hay que configurar algún servidor smtp aparte? o solo con lo aquí expuesto debería funcionar?.. tengo el mismo código php y ya revise las variables y están bien, agradecería mucho la ayuda ya que necesito probar el envió de emails.

    Respuesta
    • el 22/08/2014 a las 21:34
      Permalink

      Buenas tardes Andrés,

      Acabo de volver a probar todo el manual paso a paso, y a mi no me ha dado ningún problema, he recibido el correo de prueba correctamente.

      ¿Que cuenta usas, una de gmail como el ejemplo u otra diferente?, en el caso de que no sea una cuenta de gmail, revisa que el puerto que estás usando es el correcto.

      No necesitas tener configurado ningún servidor a parte, pero tal vez tengas que configurar otros campos que tiene el sendmail.ini.

      Revisa los campos pop2_server, pop3_usernamo y pop2_password, ya que dependiendo de la cuenta que uses, igual es necesario que los cubras.

      Respuesta
  • el 22/08/2014 a las 21:42
    Permalink

    La cuenta que uso es la gmail, los campos que mencionas los tengo así
    pop3_server=
    pop3_username=
    pop3_password=

    es decir los tengo vacíos no he colocado nada desde la instalacion

    Respuesta
      • el 22/08/2014 a las 23:38
        Permalink

        ya lo cambie y nada, estaba revisando el archivo de debug y mira lo que sale

        14/08/22 17:06:26 ** — MESSAGE BEGIN —
        14/08/22 17:06:26 ** To: andresvarela26@gmail.com
        14/08/22 17:06:26 ** Subject: Solicitud de informacion
        14/08/22 17:06:26 ** X-PHP-Originating-Script: 0:send.php
        14/08/22 17:06:26 ** From: andy_eskate261@hotmail.com
        14/08/22 17:06:26 ** X-Mailer: PHP/5.4.3
        14/08/22 17:06:26 ** Mime-Version: 1.0
        14/08/22 17:06:26 ** Content-Type: text/plain
        14/08/22 17:06:26 **
        14/08/22 17:06:26 ** Este mensaje fue enviado por Andres, de la pagina hola.com
        14/08/22 17:06:26 ** Su e-mail es: andy_eskate261@hotmail.com
        14/08/22 17:06:26 ** Mensaje: hola
        14/08/22 17:06:26 ** Enviado el 22/08/2014
        14/08/22 17:06:26 ** — MESSAGE END —
        14/08/22 17:06:26 ** Connecting to smtp.gmail.com:25
        14/08/22 17:06:37 ** Disconnected.
        14/08/22 17:06:37 ** Disconnected.
        14/08/22 17:06:37 ** Disconnected.
        14/08/22 17:06:37 ** Disconnected.
        14/08/22 17:06:37 ** Connect timed out.

        y en el archivo error me sale
        14/08/22 17:06:37 : Connect timed out.

        Respuesta
  • el 17/09/2015 a las 6:31
    Permalink

    me devuelve este error,

    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

    Respuesta
    • el 17/09/2015 a las 7:14
      Permalink

      Revisa la parte del php.ini.
      El error te dice que no puede acceder al puerto 25.
      Dependiendo de que cuenta de email uses, el puerto puede variar.

      Respuesta
  • el 30/12/2015 a las 17:20
    Permalink

    realice todos los pasos, envia este mensaje Correo enviado correctamente, pero no llega el correo al destino.

    Respuesta
      • el 09/04/2016 a las 9:04
        Permalink

        Me pasa lo mismo que al amigo josé… sale lo siguiente: Hemos recibido tu mensaje correctamente, pronto te contestaremos, gracias….. pero no llega el correo al destino… ya revise la bandeja de SPAM… pero nada…

        Respuesta
  • el 11/01/2016 a las 22:56
    Permalink

    Hola, me sucede lo mismo que José.
    Configure todos los pasos, verifiqué bien los datos.
    Me dice “Mensaje Enviado” pero no recibo nada, mire spam y nada tampoco.
    Gracias

    Respuesta
  • el 18/01/2016 a las 18:16
    Permalink

    buenas dias el mensaje me sale Correo enviado correctamente pero nunca llega a gmail q puedes me podria ayudar

    Respuesta
    • el 28/01/2016 a las 0:28
      Permalink

      ¿Has probado a enviar a otra cuenta?, también revisa la carpeta de spam no sea que lo detecte como tal y no te lo muestre en la carpeta de bandeja de entrada.

      Respuesta
  • el 27/01/2016 a las 20:14
    Permalink

    Muchas gracias, Alfonso.
    Me ha funcionado a la primera. 🙂

    Respuesta
  • el 29/03/2016 a las 22:56
    Permalink

    Me estuve comiendo el coco hasta que gracias al tutoria de Mvochoa (https://youtu.be/fiUKU3e1EJ4) me di cuenta de que el problemilla estaba en que la ruta de sendmail_path no se debe escribir entre dobles comillas. Quedaria así sendmail_path= C:\wamp\sendmail\sendmail.exe -t
    Y funciono.
    En cualquier caso muchas gracias por el tutorial Alfonso Koppen

    Respuesta
  • el 20/10/2016 a las 1:31
    Permalink

    Amigo, gracias por el tutorial, funciona de maravilla en mi pc. Pero monté el servidor en otra pc, la cual ingreso por la ip, por ejmplo: 192.168.0.10/miaplicacion/index.php. Y cuando voy al apartado de envío de mail (que por cierto en mi localhost funciona muy bien) en esta pc remota no envía correo, las configuraciones son exactamente las mismas.

    Agradesco mucho cualquier ayuda….

    Éxitos.

    Respuesta
  • el 29/05/2017 a las 19:11
    Permalink

    Hola buenos Días, al igual que mis compañeros programadores tengo el mismo problema: “Mensaje no enviado”. El cual ya a revisado con detenimiento el codigo que pones de ejemplo y ya lo e modificado a mi conveniencia, como por ejemplo, el correo electronico. Sin embargo, aun mantengo este error. Mis sospechas son hacia la salida del servidor, como un puerto el que tengamos que abrir o algo por el estilo. Tu que opinas? gracias por tu ayuda!! Saludos!!!

    Respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *