Este tutorial está preparado para que puedas saber cómo enviar mails desde localhost al exterior y así poder probar tu email sin necesidad de utilizar un hosting de pruebas online.
Con los siguientes pasos podrás configurar Mercury de XAMPP para enviar emails a correos externos desde tu servidor.1. Iniciamos Mercury/32 desde el panel del XAMPP y le damos click al botón Admin. Se iniciará el Panel de Control del Mercury/32.
2. Vamos a Configuration/Protocol Modules y desactivamos “MercuryB HTTP Web Server” y “Mercury IMAP4rev1 Server”. Para mandar emails a correos externos desactivamos “MercuryE SMTP end-to-end Delivery Client” y en cambio activamos “MercuryC SMTP Relaying Client”. Damos al OK y reiniciamos Mercury.
3. Volvemos a la consola de Mercury y vamos a Configuration/Mercury Core Module y nos situamos en la pestaña General. En “Internet Name for this system” ponemos el dominio que tenemos en nuestro servidor, ya sea localhost, WordPress MU con Buddy Press, etc. En el último caso necesitamos poner el dominio elegido por ejemplo: localhost.wordpress pero, en general, pondremos localhost. Los otros campos están ya configurados, sólo tenemos que desactivar todos los check de abajo menos “Send Copies of all errors to Postmaster”. Vamos a la pestaña “Local Domains” y añadimos el Internet Name, si utilizamos localhost ya estará añadido, si queremos que funcione con WordPress MU y Buddy Press añadimos localhost.wordpress (o el que hayas elegido en la configuración del WordPress MU). Damos click en OK.
4. Vamos a configurar el SMTP para los emails salientes en Configuration/MercuryS SMTP Server. En la pestaña General, en el campo “Announce myself as” ponemos el nombre que nos salga: “XX SMTP”, lo que quieras. Hay que comprobar que el TCP/IP Port está en 25, que es el del SMTP. En “IP interface to use” va 127.0.0.1 (por localhost). Ahora limitaremos el acceso al tu servidor a sólo nuestra máquina local de la siguiente forma: En la pestaña Connection control damos click al botón Add restriction y ponemos 127.0.0.1 to 127.0.0.1. Comprobamos que está activo Allow Connection y dejamos todos los check desactivados. En la pestaña Connection Control desactivamos Do not Permit SMTP relaying to non-local mail y damos click en OK.
5. Vamos a configurar el POP3 de Mercury en Configuration/MercuryP POP3 Server. En la pestaña General comprobamos que el TCP port sea 110 y la “IP interface to use” sea 127.0.0.1. Luego en Connection Control añadimos la misma restricción que en el punto anterior, sólo para nuestra máquina local de la misma forma y damos click en OK.
6. Luego nos toca configurar el cliente del SMTP de Mercury en Configuration/MercuryC SMTP Client. Para mandar emails al exterior necesitamos los datos de un correo exterior. En este ejemplo estarán puestos los datos de el Gmail del SMTP para correos salientes. En “Smart Host Name” ponemos smtp.gmail.com. El puerto elegiremos el 587. Con el otro que viene no me va. Luego elegimos STARTTLS que es lo que soporta el Gmail. En “Login Username” ponemos nuestra cuenta de correo de Gmail, y en “Password” nuestra contraseña del correo Gmail. Esta parte la tenemos resuelta. Damos click al OK.
7. En Configuration/Manage local users comprobamos que tenemos los usuarios Admin y Postmaster con permisos de administrador.
8. Con el Mercury ya terminamos, ahora hay que modificar el archivo php.ini que se encuentra en xampp/apache/bin. Nos dirigimos a [mail function] y comprobamos que los siguientes datos están así: SMTP = localhost, smtp_port = 25 y agregamos la siguiente línea : sendmail_from = postmaster@localhost (o removemos la línea comentada que hay y la cambiamos por esos datos). Guardamos y reiniciamos Apache.
9. Ya debería funcionar. ¿Cómo lo comprobamos? En Mercury en File/Send Mail Message enviamos un email a un correo externo. Para comprobar el PHP creamos un archivo .php con la función mail(); de la siguiente forma: (‘xxx@gmail.com’, ‘Comprobación de Mercury’, ‘Si lees esto es que todo esta bien’);
De esta forma podremos mandar emails utilizando Mercury de XAMPP, por ejemplo los tan necesarios para crear usuarios en el WordPress MU con Buddy Press.