Paso 1:
Descomprimi sendmail.zip en por ejemplo
c:\sendmail
Paso 2:
Edita tu php.ini, que normalmente esta en la carpeta php (al menos el xampp lo tiene ahi.
busca la sección [mail function] y que te quede como lo que sigue (observa que las lineas que empiezan por ; estan comentadas, es decir que no tiene efecto, la que te interesa es sendmail_path que debe contener la ruta a donde descomprimiste sendmail.exe y finalizar con al parámetro -t
[mail function]
; For Win32 only.
;SMTP = smtp.xxx.com
;smtp_port = 25
; For Win32 only.
;sendmail_from = [email protected]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\sendmail\sendmail.exe -t"
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
Paso 3:
en la carpeta C:|sendmail vas a encontrar un archivo sendmail.ini, también tenés que editarlo (y tambien en este archivo las lineas que empiezan por ; son comentarios), debe quedarte como sigue
; configuration for fake sendmail
; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail
[sendmail]
;el nombre de tu servidor smtp
smtp_server=smtp.gmail.com
; El puerto de tu servidor smtp (por lo general el 25, pero si tu servidor usa ssl
; será 465 (en mi caso es asi porque estoy usando una cuenta de gmail
; smtp port (normally 25)
smtp_port=465
; la que sigue la dejas en auto (puede ser none si estás seguro
; de que tu server no usa ssl
; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway use SSL
; tls = always use TLS
; none = never try to use SSL
smtp_ssl=auto
; el dominio por defecto de tu servidor de correo (en mi caso gmail.com)
default_domain=gmail.com
; las dos que siguen se descomentan, si hay errores
; tienen datos importantes para analizar posibles soluciones
error_logfile=error.log
debug_logfile=debug.log
; muchos smtp requieren autentificar para enviar, aqui pones usurio y clave
; de tu cuenta
auth_username=usuario
auth_password=clave
; algunos servidores exigen que recibas antes de mandar
; si es así descomenta las siguientes tres lineas
; y completa con los valores
;pop3_server=
;pop3_username=
;pop3_password=
; force_sender, si lo completas, lo que esté en el header From
; de tu script php se sobreescribira con esto
; si tu script esta correcta dejalo asi
;force_sender=
; la que sigue es igual que la anterior perp para el header To:, si a la
; script se le pasó un email válido, tendrías que dejarlo comentado como esta
;force_recipient=
; los servidores smtp envian un comando elho/helo al servidor que envía
; jamás pongas "Localhost" por que te lo rebotan
; poné algún dominio válido
hostname=intel.com
obviamente pone en tu script para la funcion email una cuenta que se corresponda con el smtp que usaste aqui (no tiene que ser la misma, basta que sea del mismo server.
4. Asegurate que tu Firewall no bloquee a sendmail.exe
Para finalizar una aclaración, cuando la script te dice "mensaje enviado" solo te está diciendo que mando el mensaje a traves del SendMail, si el sendmail logró o no entregar el correo, es otra cosa, podés usar el error.log y el debug.log para verificar
te dejo un log de ejemplo
10/10/24 00:28:47 ** --- MESSAGE BEGIN ---
10/10/24 00:28:47 ** To: [email protected]
10/10/24 00:28:47 ** Subject: p
10/10/24 00:28:47 ** From: [email protected]
10/10/24 00:28:47 ** X-Mailer: PHP/5.2.9
10/10/24 00:28:47 ** Mime-Version: 1.0
10/10/24 00:28:47 ** Content-Type: text/plain; charset=utf-8
10/10/24 00:28:47 **
10/10/24 00:28:48 **
10/10/24 00:28:48 ** Enviado por u [[email protected]] Cel. : p
10/10/24 00:28:48 **
10/10/24 00:28:48 ** p
10/10/24 00:28:48 **
10/10/24 00:28:48 **
10/10/24 00:28:48 ** --- MESSAGE END ---
10/10/24 00:28:49 ** Connecting to smtp.gmail.com:465
10/10/24 00:28:50 ** Connected.
10/10/24 00:28:50 << 220 mx.google.com ESMTP w15sm6164971anw.33<EOL>
10/10/24 00:28:50 >> EHLO emprear.com<EOL>
10/10/24 00:28:50 << 250-mx.google.com at your service, [190.220.244.231]<EOL>250-SIZE 35651584<EOL>250-8BITMIME<EOL>250-AUTH LOGIN PLAIN XOAUTH<EOL>250 ENHANCEDSTATUSCODES<EOL>
10/10/24 00:28:50 ** Authenticating as [email protected]
10/10/24 00:28:50 >> AUTH LOGIN<EOL>
10/10/24 00:28:50 << 334 VXNlcm5hbWU6<EOL>
10/10/24 00:28:50 >> Z2MuZ2lhbmVsbG9AZ21haWwuY29t<EOL>
10/10/24 00:28:50 << 334 UGFzc3dvcmQ6<EOL>
10/10/24 00:28:50 >> MTIzeHh4NDU2<EOL>
10/10/24 00:28:51 << 235 2.7.0 Accepted<EOL>
10/10/24 00:28:51 >> MAIL FROM: <[email protected]><EOL>
10/10/24 00:28:51 << 250 2.1.0 OK w15sm6164971anw.33<EOL>
10/10/24 00:28:51 >> RCPT TO: <[email protected]><EOL>
10/10/24 00:28:51 << 250 2.1.5 OK w15sm6164971anw.33<EOL>
10/10/24 00:28:51 >> DATA<EOL>
10/10/24 00:28:52 << 354 Go ahead w15sm6164971anw.33<EOL>
10/10/24 00:28:52 >> Date: Sun, 24 Oct 2010 00:28:52 -0300<EOL>
10/10/24 00:28:52 >> To: [email protected]<EOL>
10/10/24 00:28:52 >> Subject: p<EOL>
10/10/24 00:28:52 >> From: [email protected] <EOL>
10/10/24 00:28:52 >> X-Mailer: PHP/5.2.9 <EOL>
10/10/24 00:28:52 >> Mime-Version: 1.0 <EOL>
10/10/24 00:28:52 >> Content-Type: text/plain; charset=utf-8<EOL>
10/10/24 00:28:52 >> <EOL>
10/10/24 00:28:52 >> <EOL>
10/10/24 00:28:52 >> Enviado por u [[email protected]] Cel. : p<EOL>
10/10/24 00:28:52 >> <EOL>
10/10/24 00:28:52 >> p<EOL>
10/10/24 00:28:52 >> <EOL>
10/10/24 00:28:52 >> <EOL>
10/10/24 00:28:52 >> .<EOL>
10/10/24 00:28:53 << 250 2.0.0 OK 1287890946 w15sm6164971anw.33<EOL>
10/10/24 00:28:53 >> QUIT<EOL>
10/10/24 00:28:53 << 221 2.0.0 closing connection w15sm6164971anw.33<EOL>
10/10/24 00:28:53 ** Disconnected.
10/10/24 00:28:53 ** Disconnected.
10/10/24 00:28:53 ** Disconnected.
Saludos