Configurar el servidor WAMP para enviar correo electrónico

Respuestas:

205

Configurar un cliente de correo electrónico que funcione desde localhost es bastante complicado, he pasado horas de frustración intentándolo. Estoy seguro de que alguien con más experiencia puede ayudar, o quizás esté de acuerdo conmigo.

Si solo desea probar, aquí hay una gran herramienta para probar el correo localmente, que casi no requiere configuración:

http://www.toolheap.com/test-mail-server-tool/

Funcionó de inmediato para mí, espero que esto te ayude.

Wesley Murch
fuente
16
Funciona con wamp sin ningún tipo de configuración. Simplemente abra el .eml con Windows Live Mail (no se necesita configuración).
Benjamin Crouzier
5
Si (como yo) llegó a esta gran solución después de ajustar php.ini, recuerde la configuración predeterminada: [función de correo] SMTP = localhost smtp_port = 25
BenL
2
Me funcionó de manera brillante usando WAMP 4 en Win10. ¡Gracias Wesley!
nickstaw
4
para quien no encuentre el enlace de descarga, vaya aquí: toolheap.com/test-mail-server-tool/users-manual.html
SolidSnake
3
Para aquellos que quieran descargar esto sin deshabilitar adblock, aquí está el enlace de descarga: toolheap.com/test-mail-server-tool/TestMailServerToolSetup.exe
Donald Duck
44

Instale Sendmail falso (descargue sendmail.zip ). Luego configure C: \ wamp \ sendmail \ sendmail.ini:

smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password

Lo anterior funcionará con una cuenta de Gmail. Y luego configure php.ini:

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

Ahora, reinicie Apache, y eso es básicamente todo lo que necesita hacer.

gianjey
fuente
3
+1 para solución llave en mano. Como recurso adicional para aquellos que necesitan un poco más de detalle sobre los pasos: blog.techwheels.net/…
Prusprus
@gianjey ¿Funcionará esto con otras cuentas como Hotmail o necesita una cuenta de Gmail registrada para usar esto?
Ryman Holmes
1
dang este método ya no parece funcionar ... suponiendo que haya configurado todo correctamente
Prohibición
Hola @Banning, pude configurar esto sin dificultad en este momento, así que todavía funciona. Asegúrese de no tener la autenticación de dos pasos configurada en la cuenta de GMail. De todos modos, esta fue una buena guía - blog.techwheels.net/…
faludi
1
¡No puedo creer que esto haya funcionado al primer intento! tan increíble. La única parte que me arruinó es que, si está utilizando gmail, debe ingresar su nombre de usuario y contraseña de gmail para que pueda iniciar sesión en el cliente de correo electrónico para ENVIAR el correo electrónico. NOTA: si va a hacer esto, cree una nueva cuenta de Gmail ya que esto aumenta el riesgo de riesgo de seguridad.
William Howley
5

Usando un programa de código abierto llamado Send Mail , puede enviar a través de wamp con bastante facilidad en realidad. Todavía lo estoy configurando, pero aquí hay un gran tutorial de jo jordan . Tarda menos de 2 minutos en configurarse.

¡Solo lo probé y funcionó como un encanto! Una vez que descomenté el registro de errores y descubrí que se estaba estancando en la autenticación pop3, simplemente lo eliminé y se envió bien. ¡La mejor de las suertes!

David Hobs
fuente
Si está utilizando una cuenta de Gmail, debe permitir el acceso a aplicaciones menos seguras. Para hacer esto, cuando haya hecho lo que se dice en el tutorial vinculado en esta respuesta y haya abierto una página PHP con mail, recibirá un correo electrónico de Google diciendo que se bloqueó un intento de inicio de sesión. En ese correo electrónico, haga clic en "Verificar actividad", y en la página que se abre, haga clic en "Sí, fui yo", luego haga clic en "Más información", luego haga clic en "Si el acceso a aplicaciones menos seguras está desactivado para su cuenta ", luego haga clic en" volver a encender ", y luego encienda el interruptor.
Donald Duck
Además, debe especificar un fromencabezado al llamar mailen PHP. Por ejemplo, puede hacerlo mail("[email protected]", "Subject", "Content", "From: [email protected]")(es el último parámetro que es importante).
Donald Duck
2

Necesita un servidor SMTP para enviar su correo. Si tiene uno disponible que no requiera autenticación SMTP (¿tal vez su ISP?) Simplemente edite la configuración 'SMTP' ([función de correo]) en su archivo php.ini.

Si esta no es una opción porque su servidor SMTP requiere autenticación, no podrá usar la función de correo interno () y tendrá que usar alguna clase de terceros que admita la autenticación smtp. por ejemplo, http://pear.php.net/package/Mail/

mwallisch
fuente
1

Probé Test Mail Server Tool y, aunque funcionó muy bien, aún necesita abrir el correo electrónico en algún cliente.

Encontré Papercut : https://papercut.codeplex.com/

Para la configuración, es fácil como Test Mail Server Tool (prácticamente cero-conf), y también sirve como cliente de correo electrónico, con vistas para el mensaje (excelente para correos electrónicos HTML), encabezados , cuerpo (para inspeccionar el HTML) y sin formato (completo correo electrónico sin analizar).

También tiene una vista de Secciones , para dividir los diferentes tipos de medios que se encuentran en el correo electrónico.

Tiene una interfaz de usuario súper limpia y amigable, un buen visor de registros y le brinda notificaciones cuando recibe un correo electrónico.

Lo encuentro perfecto, así que solo quería dar mi 2c y tal vez ayudar a alguien.

Fábio Duque Silva
fuente
1

Sendmail no funcionaba para mí, así que usé msmtp 1.6.2 w32 y la mayoría simplemente siguió las instrucciones en DeveloperSide . Aquí hay un resumen rápido de la configuración para la posteridad:

Habilitado el acceso IMAP en su cuenta de Gmail (desde la que msmtp está enviando correos electrónicos)

Habilite el acceso para aplicaciones menos seguras . Inicie sesión en su cuenta de Google y vaya aquí

Editephp.ini , busque y cambie cada configuración a continuación para reflejar lo siguiente:

; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25

; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes. 
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"

mail.log = "C:\wamp64\msmtp\maillog.txt"

Cree y edite el archivomsmtprc.ini en el mismo directorio que su msmtp.exearchivo de la siguiente manera, reemplazándolo con su propio correo electrónico y contraseña:

# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt

account Gmail
host smtp.gmail.com
port 587
auth on
tls on
from ReplaceWithYourEmail@gmail.com
user ReplaceWithYourEmail@gmail.com
password ReplaceWithYourPassword
account default : gmail
Iyrin
fuente
No pude instalar msmtp en Windows. Solo puedo encontrar archivos tar.
Oussama Essamadi
1
Pruebe el enlace en mi respuesta y descargue msmtp-1.6.2-w32.zip sourceforge.net/projects/msmtp/files/msmtp/1.6.2
iyrin
0

Usé Mercury / 32 y Pegasus Mail para que el mail () fuera funcional. También funciona muy bien como servidor de correo si desea una dirección de correo electrónico que termine con su nombre de dominio.

ZeldaBoy
fuente