informatica:linux:correo:postfix
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatica:linux:correo:postfix [2011/01/17 08:27] – 127.0.0.1 | informatica:linux:correo:postfix [2016/04/11 18:18] (current) – javi | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Usar un servidor SMTP externo: ====== | ====== Usar un servidor SMTP externo: ====== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Genérico (comprobado Jazztel) ===== | ===== Genérico (comprobado Jazztel) ===== | ||
Line 18: | Line 9: | ||
1. Instalamos postfix y otras cosillas | 1. Instalamos postfix y otras cosillas | ||
- | sudo aptitude update | + | sudo aptitude update; sudo aptitude install libauthen-sasl-perl libsasl2-2 libsasl2-modules postfix |
2. Teclear ' | 2. Teclear ' | ||
Line 34: | Line 25: | ||
7. Lanzamos los siguientes comandos: | 7. Lanzamos los siguientes comandos: | ||
- | postconf -e ' | + | |
- | postconf -e ' | + | |
- | postconf -e ' | + | |
- | postconf -e ' | + | |
- | echo " | + | |
- | chown root:root / | + | |
- | chmod 600 / | + | |
- | postmap hash:/ | + | |
- | postmap / | + | |
**NOTA** es importante (al menos en gmail) que se especifique el usuario en el formato ' | **NOTA** es importante (al menos en gmail) que se especifique el usuario en el formato ' | ||
Line 48: | Line 39: | ||
**NOTA2** cada vez que se cambie la contraseña (archivo / | **NOTA2** cada vez que se cambie la contraseña (archivo / | ||
- | postmap hash:/ | + | |
- | postmap / | + | |
- | / | + | |
Cuando enviemos un correo, por ejemplo desde la linea de comandos: | Cuando enviemos un correo, por ejemplo desde la linea de comandos: | ||
+ | sudo aptitude install mailutils | ||
echo " | echo " | ||
Line 69: | Line 60: | ||
===== Gmail ===== | ===== Gmail ===== | ||
+ | |||
+ | ==== Receta usando puerto 587 ==== | ||
+ | |||
+ | Esta receta ha sido validada el 12/ | ||
+ | |||
+ | 1. Instalar paquetes: | ||
+ | |||
+ | sudo aptitude install libgnutls26 libauthen-sasl-perl libsasl2-2 libsasl2-modules postfix | ||
+ | |||
+ | 2. Editar: | ||
+ | |||
+ | sudo cp / | ||
+ | sudo vim / | ||
+ | | ||
+ | Con el siguiente contenido: | ||
+ | |||
+ | < | ||
+ | smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) | ||
+ | biff = no | ||
+ | |||
+ | append_dot_mydomain = no | ||
+ | |||
+ | readme_directory = no | ||
+ | |||
+ | smtpd_tls_cert_file=/ | ||
+ | smtpd_tls_key_file=/ | ||
+ | smtpd_use_tls=yes | ||
+ | smtpd_tls_session_cache_database = btree: | ||
+ | smtp_tls_session_cache_database = btree: | ||
+ | smtp_tls_security_level = verify | ||
+ | smtp_tls_CAfile = / | ||
+ | |||
+ | myhostname = test.example.com | ||
+ | alias_maps = hash:/ | ||
+ | alias_database = hash:/ | ||
+ | myorigin = / | ||
+ | mydestination = test.example.com | ||
+ | relayhost = [smtp.gmail.com]: | ||
+ | mynetworks = 127.0.0.0/8 [:: | ||
+ | mailbox_size_limit = 0 | ||
+ | recipient_delimiter = + | ||
+ | inet_interfaces = all | ||
+ | smtp_sasl_auth_enable = yes | ||
+ | smtp_sasl_password_maps = hash:/ | ||
+ | smtp_sasl_security_options = | ||
+ | |||
+ | </ | ||
+ | |||
+ | 3. Editar: | ||
+ | |||
+ | sudo cp / | ||
+ | sudo vim / | ||
+ | | ||
+ | Con el siguiente contenido: | ||
+ | |||
+ | [smtp.gmail.com]: | ||
+ | | ||
+ | 4. Regenerar bas de datos de contrasenyas: | ||
+ | |||
+ | sudo postmap / | ||
+ | |||
+ | 5. Recargar config de Postfix: | ||
+ | |||
+ | sudo postfix reload | ||
+ | |||
+ | ==== Receta antigua ==== | ||
**NOTA IMPORTANTE** Desaconsejo esta opción, pues he detectado que cada x tiempo los correos no llegan, y es porque Gmail activa kaptcha para poder iniciar sesión con esa cuenta de correo. | **NOTA IMPORTANTE** Desaconsejo esta opción, pues he detectado que cada x tiempo los correos no llegan, y es porque Gmail activa kaptcha para poder iniciar sesión con esa cuenta de correo. | ||
Line 187: | Line 244: | ||
recipient_delimiter = + | recipient_delimiter = + | ||
inet_interfaces = all | inet_interfaces = all | ||
+ | inet_protocols = ipv4 | ||
smtp_use_tls = yes | smtp_use_tls = yes | ||
smtp_sasl_auth_enable = yes | smtp_sasl_auth_enable = yes | ||
Line 194: | Line 252: | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
===== Errores ===== | ===== Errores ===== | ||
+ | |||
+ | 1. *Puerto okupado* | ||
Vemos en el log (/ | Vemos en el log (/ | ||
Line 214: | Line 277: | ||
1. Mato el proceso: | 1. Mato el proceso: | ||
- | kill -9 3644 | + | |
2. Reinicio postfix: | 2. Reinicio postfix: | ||
- | / | + | |
3. Compruebo: | 3. Compruebo: | ||
Line 227: | Line 290: | ||
master | master | ||
</ | </ | ||
+ | |||
+ | 2. **Usuario incorrecto o kaptcha** | ||
+ | |||
+ | < | ||
+ | Jan 18 17:22:43 cntmalaga1 postfix/ | ||
+ | Jan 18 17:22:43 cntmalaga1 postfix/ | ||
+ | Jan 18 17:22:43 cntmalaga1 postfix/ | ||
+ | Jan 18 17:22:44 cntmalaga1 postfix/ | ||
+ | fax Secure Certificate Authority | ||
+ | Jan 18 17:22:47 cntmalaga1 postfix/ | ||
+ | sn=4.7.1, status=deferred (SASL authentication failed; server smtp.gmail.com[209.85.227.109] said: 535-5.7.1 Username and Password not accepted. Learn more at | ||
+ | ?535 5.7.1 http:// | ||
+ | Jan 18 17:24:47 cntmalaga1 postfix/ | ||
+ | Jan 18 17:24:47 cntmalaga1 postfix/ | ||
+ | : Relay access denied; from=< | ||
+ | Jan 18 17:24:47 cntmalaga1 postfix/ | ||
+ | </ | ||
+ | |||
+ | 3. **No relay** | ||
+ | |||
+ | TODO | ||
+ | |||
+ | < | ||
+ | Jan 18 17:38:25 cntmalaga1 postfix/ | ||
+ | Jan 18 17:38:26 cntmalaga1 postfix/ | ||
+ | Jan 18 17:38:26 cntmalaga1 postfix/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Reenviar correo (relay) solo a determinadas direcciones ===== | ||
+ | |||
+ | Escenario: | ||
+ | |||
+ | **Servidor A** con ip dinamica, una lista de correos instalada (milista) | ||
+ | **Servidor B** con ip estatica | ||
+ | |||
+ | Problema: | ||
+ | |||
+ | Queremos usar Servidor B de relay, pero que solo envie correos a las direcciones contenidas en la lista de correos del Servidor A | ||
+ | |||
+ | Solucion: | ||
+ | |||
+ | **Servidor A** | ||
+ | |||
+ | 1. Editar el archivo de configuracion de postfix: | ||
+ | |||
+ | sudo vim / | ||
+ | |||
+ | Y poner el nombre de **Servidor B** como relay: | ||
+ | |||
+ | relayhost = servidorb.com | ||
+ | |||
+ | 2. Reiniciar postfix: | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | 3. Sacar un listado de los usuarios que estan dados de alta en la lista ' | ||
+ | |||
+ | sudo list_members mi_lista | ||
+ | |||
+ | La salida es algo asi: | ||
+ | |||
+ | cuenta1@hotmail.com | ||
+ | cuenta2@gmail.com | ||
+ | |||
+ | **Servidor B** | ||
+ | |||
+ | 4. Crear un archivo que contenga los usuarios a los que servidorb SI reenviara los correos que le lleguen: | ||
+ | |||
+ | sudo vim / | ||
+ | |||
+ | Con el siguiente contenido: | ||
+ | |||
+ | cuenta1@hotmail.com ok | ||
+ | cuenta2@gmail.com ok | ||
+ | |||
+ | 5. Editar el archivo de configuracion de postfix: | ||
+ | |||
+ | sudo vim / | ||
+ | |||
+ | Y anyadir la siguiente entrada: | ||
+ | |||
+ | smtpd_recipient_restrictions = hash:/ | ||
+ | |||
+ | 6. Generar el hash: | ||
+ | |||
+ | sudo postmap hash:/ | ||
+ | sudo postmap / | ||
+ | |||
+ | 7. Reiniciar postfix: | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | 8. Probar. Desde Servidor A: | ||
+ | |||
+ | echo " | ||
+ | |||
+ | Ese correo deberia llegar a Servidor B, y este reenviarlo a cuenta1@hotmail.com | ||
+ | |||
+ | ===== Errores ===== | ||
+ | |||
+ | ==== 504 5.5.2 ==== | ||
+ | |||
+ | Ejemplo: | ||
+ | |||
+ | < | ||
+ | Apr 11 18:23:10 localhost postfix/ | ||
+ | </ | ||
+ | |||
+ | Quiza falta configuracion en el servidor, he seguido la receta de relay de gmail con 587, probar lo siguiente para el envio del correo de prueba desde linea de comandos: | ||
+ | |||
+ | < | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | |||
informatica/linux/correo/postfix.1295252858.txt.gz · Last modified: 2015/04/13 20:19 (external edit)