2012/6/5 Carlos Sura carlos.sura1@googlemail.com
Buen día,
Estoy interesado en usar o más instancias de Postfix en CentOS. De hecho, he logrado configurarlo y hacer correr una segunda instancia sin ningún problema *-hasta ahorita- *.
Lo que sucede es, que yo quisiera saber si hay alguna manera de que las dos instancias puedan compartir el puerto 25 (asumí que no por defecto) entonces a la segunda instancia le asigne el puerto 2525. Se suponía o supone que esto debe funcionar; de hecho lo hace, si uso el servidor SMTP en el puerto 2525, pero si lo uso en puerto 25, solamente me usa la primera instancia de Postfix, más no la segunda que corre en el puerto 2525, por lo cual recurro a alguna recomendación para esto; según yo al tener las dos instancias (cada una con una IP diferente) se iban a alternar... O es lo que tenia planeado; pero aún si trato de enviar correos con la función MAIL de PHP, me utiliza la primera instancia de Postfix *-la que instale por defecto-.*
En realidad, el puerto es secundario, yo hice esto con la intención de aumentar el volumen de correos a enviar al mismo tiempo, ya que Postfix es muy limitado en eso al respecto; mi servidor es capable así que no hay problema. Lo que quiero es: Si envío por ejemplo, 1000 correos por minuto con una sola instancia, entonces teniendo dos instancias, debería enviar 2000 correos por minuto como mínimo (según mi lógica, corregirme si estoy equivocado).
¿Por qué? tengo una infraestructura escalable a la que muchos, pero muchos usuarios envían correos, ahora para garantizar que estos lleguen a la bandeja de entrada, estoy usando Amazon SES (lo cual es independiente, pero vale mencionar). Entonces, mis soluciones:
a. Instalar varias instancias de Postfix (lo que hice actualmente, pero dado que corren en diferentes puertos o no sé si hice algo mal, no funciona duplicando la cantidad de correos que puedo enviar por minuto, además si utilizo la función MAIL de PHP y desactivo la primera instancia de Postfix, este no envía correos. Pero si utilizo SMTP, entonces si funciona con la segunda instancia y la otra IP).
b. Usar un MTA multi-threading como PowerMTA, pero es demasiado caro, de momento antes de llegar a esta quiero ver soluciones sin costos elevados.
c. Amazon SES tiene un script en perl, lo probé pero la velocidad sigue siendo igual, no cambio en nada; lo intenté modificar pero no vario mucho, sigue lento.
d. Use un SMTP de Amazon SES pero llegan mucho más lentos.
Por lo cual amigos, la única solución viable que veo es las múltiples instancias de Postfix, si alguien me puede indicar respecto a los puertos o que sea independiente de ello y que se alternen se lo agradeceré mucho, claro está que no necesito una gran explicación, solo la base yo me las ingenio luego.
La idea es que teniendo dos instancias de Postfix se dupliquen, teniendo tres instancias, obviamente se tripliquen la cantidad de correos a enviar por minuto.
NOTA:
- Uso un solo dominio para salida de correos.
- Tengo 2 IPs no creo que requiera más, pero de ser necesario dispongo de
muchas más.
- CentOS 6.
- Postfix + Dovecot + MySQL + PostfixAdmin (Cuentas de correo virtuales).
- Si tengo SPF y DKIM funcionando muy bien, incluso DMARC como Gmail
sugiere.
- No hacemos SPAM.
- Si soporta el ancho de banda.
¿Tendrá algo que ver con Dovecot?
En master.cf tengo: # Dovecot LDA dovecot unix - n n - - pipe flags=DRhu user=usuario:usuario argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipien$................
y Amazon SES me obliga a usar el mismo, solo que no usando dovecot, sino apuntando la ruta a su script.
éxitos,
-- Carlos Sura.- www.carlossura.com
Una última cosa más que olvide mencionar, en Postfix, en el archivo: main.cfutilizo la siguiente línea: alternate_config_directories = /etc/postfix-2 (dónde es la ruta para mi segunda instancia)