Va a ser algo corto pero que a i me parecion muy bueno, en la red hay una buena cantidad de tutos pero estos no estan muy actualizados, es decir no a win7 o win8 por ejemplo, el caso es que les voy a comentar como enviar emails desde el servidor local, muy util para realizar pruebas de nuestras paginas programadas antes de subirlas al server y no tener que esperar a la subida para saber si nuestro codigo fnciona.
Lo Primero es descargas este par de aplicaciones:
1.- Fake sendmail:
[URL="http://glob.com.au/sendmail/"]Descargar[/URL]
Este lo descomprimen en la carpeta bin de su server apache, en este caso en wamp (C:\wamp\bin\)
2.- Stunnel:
[URL="https://www.stunnel.org/downloads.html"]Descargar[/URL]
Este lo descargan y lo instalan, en el momento de instalar les va a salir una ventana de la consola (cmd) solo presionan enter hasta que desaparesca y listo. No lo ejecuten todavia luego de la instalacion.
acto siguiente vamos a configurar nuestro archivo php.ini de nuestro wamp server, para ello vamos hasta C:\wamp\bin\apache\apache2.2.22\bin.
estando alli vamos a habilitar las siguientes extensiones:
Cita:
extension=php_sockets.dll
extension=php_openssl.dll
en el mismo archivo pero mas abajo buscamos el apartado [mail function] el cual debe quedar asi:
Cita: [mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = AQUI VA SU EMAIL DE GMAIL
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:\wamp\bin\sendmail\sendmail.exe -t"
ok luego nos dirigimos a la carpeta de sendmail en nuestro apache C:\wamp\bin\sendmail y alli vamos a editar el archivo sendmail.ini:
estas lineas deben quedar asi, el resto queda como estan en el archivo:
Cita: smtp_server=localhost
; smtp port=465
smtp_port=25
; 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
; auto
smtp_ssl=none
error_logfile=error.log
debug_logfile=debug.log
auth_username=AQUI SU EMAIL DE GMAIL
auth_password=AQUI SU CLAVE
hostname=localhost
pasamos a la carpeta donde se instalo stunnel C:\Program Files (x86)\stunnel y copiamos el archivo stunnel.conf al escritorio para poderlo editar
Cita: ; Some options used here may be inadequate for your particular configuration
; This sample file does *not* represent stunnel.conf defaults
; Please consult the manual for detailed description of available options
; ************************************************** ************************
; * Global options *
; ************************************************** ************************
; Debugging stuff (may be useful for troubleshooting)
;debug = info
;output = stunnel.log
; Enable FIPS 140-2 mode if needed for compliance
;fips = yes
; Microsoft CryptoAPI engine allows for authentication with private keys
; stored in the Windows certificate store
; Each section using this feature also needs the "engineId = capi" option
;engine = capi
; ************************************************** ************************
; * Service defaults may also be specified in individual service sections *
; ************************************************** ************************
; Enable support for the insecure SSLv3 protocol
;options = -NO_SSLv3
; These options provide additional security at some performance degradation
;options = SINGLE_ECDH_USE
;options = SINGLE_DH_USE
; ************************************************** ************************
; * Include all configuration file fragments from the specified folder *
; ************************************************** ************************
;include = conf.d
; ************************************************** ************************
; * Service definitions (at least one service has to be defined) *
; ************************************************** ************************
; ***************************************** Example TLS client mode services
;[gmail-pop3]
;client = yes
;accept = 127.0.0.1:110
;connect = pop.gmail.com:995
;verify = 2
;CAfile = ca-certs.pem
;checkHost = pop.gmail.com
;[gmail-imap]
;client = yes
;accept = 127.0.0.1:143
;connect = imap.gmail.com:993
;verify = 2
;CAfile = ca-certs.pem
;checkHost = imap.gmail.com
[gmail-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.gmail.com:465
verify = 2
CAfile = ca-certs.pem
checkHost = smtp.gmail.com
; Encrypted HTTP proxy authenticated with a client certificate
; located in the Windows certificate store
;[example-proxy]
;client = yes
;accept = 127.0.0.1:8080
;connect = example.com:8443
;engineId = capi
; ***************************************** Example TLS server mode services
;[pop3s]
;accept = 995
;connect = 110
;cert = stunnel.pem
;[imaps]
;accept = 993
;connect = 143
;cert = stunnel.pem
[ssmtp]
accept = 465
connect = 25
cert = stunnel.pem
; TLS front-end to a web server
;[https]
;accept = 443
;connect = 80
;cert = stunnel.pem
; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SChannel
; Microsoft implementations do not use TLS close-notify alert and thus they
; are vulnerable to truncation attacks
;TIMEOUTclose = 0
; Remote cmd.exe protected with PSK-authenticated TLS
; Create "secrets.txt" containing IDENTITY:KEY pairs
;[cmd]
;accept = 1337
;exec = c:\windows\system32\cmd.exe
;execArgs = cmd.exe
;ciphers = PSK
;PSKsecrets = secrets.txt
; vim:ft=dosini
solo deben quitar el ; a las opciones que les coloque alli.
y listo solo basta con probar con algún código de envío por ejemplo
Código PHP:
Ver original$para = 'AQUI EL EMAIL';
$asunto = 'Aqui el asunto';
$mensaje = 'Nombre: .$nombre.<br>';
$mensaje .= 'Correo: .$correo.<br>';
$mensaje .= '$numero: .$numero.<br>';
$mensaje .= 'Contenido: .$contenido.<br>';
$cabeceras = 'From: AQUI EL EMAIL' . "\r\n" .
$cabeceras .= 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//$cabeceras .= 'Bcc: [email protected]' . "\r\n"; //Si vas a enviar alguna copia oculta
echo "Mensaje Enviado";
} else {
echo "Mensaje no enviado";
}
NOTAS inportantes:
- Deben tener habilitado el acceso imap en su gmail, eso lo realiza en la configuracion de su bandeja.- Tambien deben verificar en esta direccion https://www.google.com/settings/security/lesssecureapps si tienen desactivado el filtro de conexiones para aplicaciones, si es asi activenlo
- Deben iniciar el stunnel en modo administrador y con compatibilidad para windows xp y el sendmail.exe tambien deben darle estas propiedades.
esto lo realizan dando clic derecho sobre el ejecutable y en la pestaña compatibilidad.
Bueno espero les sea de utilidad...