Hola a todos, necesito implementar un servicio que envíe recordatorios a los usuarios por correo electrónico. Este debería ser un sistema programado multiproceso. Esta parte está bien, pero necesito instalar y configurar el servidor SMTP para los correos electrónicos salientes en el servidor. No tengo ni idea de cómo hacerlo. hacer y qué esperar mis herramientas serán una combinación de lámpara en alguna porción de Linux (supongo que ubuntu).
Respuesta1
La instalación es muy específica de la distribución, porque existen formas recomendadas por la distribución para instalar software. Es muy raro hoy en día que recomiende a alguien instalar Postfix por fuente en cualquier distribución de Linux.
Con ubuntu, use apt-get.
$ sudo apt-get install postfix
Eso instalará postfix en su servidor Ubuntu y la configuración posterior quedará a su cargo. Mi consejo es canalizar los correos al binario sendmail (normalmente en /usr/sbin/sendmail), que mantendrá el correo en una cola si el sistema Postfix no funciona. Si usa SMTP y se conecta al puerto 25, si su servidor de correo alguna vez necesita estar inactivo por algún mantenimiento, su aplicación deberá mantener su propia cola de correo o correrá el riesgo de que el correo no se entregue.
Respuesta2
Instale Postfix, siguiendo las instrucciones enPostfix.org
Respuesta3
También puede instalar exim4, que, si bien es más complicado para configuraciones difíciles (debido a la piratería de Debian), es mucho más fácil de configurar para reenviar correo. simplemente apt-get install exim4 y luego, si es necesario, dpkg-reconfigure exim4-config.
Respuesta4
Postfix no es tan difícil de separar del código fuente si alguna vez ha creado/compilado código fuente.
Usamos mailx para enviar correos electrónicos salientes y conversaciones mailx a un servidor SMTP postfix para el punto de retransmisión real.
Además, una vez que tenga un servidor Postfix en funcionamiento, otros servidores externos pueden hacer referencia a él para la retransmisión de correo electrónico.
Usamos un proceso de compilación con script para compilar Postfix en nuestra distribución de Linux (Pozix Linux).
Este es el comando que usamos para crear archivos make de Postfix:
crear archivos makefile 'CCARGS=-DHAS_PGSQL -DUSE_TLS -I/usr/local/pgsql-8.2.13/include -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -I/usr/local/BerkeleyDB/include' 'AUXLIBS=- L/usr/local/lib -L/usr/local/pgsql-8.2.13/lib -L/usr/local/BerkeleyDB/lib -lpq -lsasl2 -lz -lm -lssl -lcrypto -lpthread'
Puedes ajustar esto a tus necesidades. Como usamos PostgreSQL, tenemos: -L/usr/local/pgsql-8.2.13/lib -lpq
Puede eliminarlos si no necesita soporte para PostgreSQL; lo mismo ocurre con SASL y TLS.
Después de ejecutar este comando,
make install (para una nueva instalación) make update (para actualizar una versión anterior)
Para que mailx funcione, normalmente tenemos un trabajo CRON que llama a un script como root.
El script, a su vez, llama a mailx.
MAILX usa un archivo .rc para leer variables de entorno y dado que llamamos a mailx como usuario root, necesitamos colocar un archivo llamado '.mailrc' en el directorio de inicio de root.
El contenido de .mailrc tiene el siguiente aspecto:
colocar[correo electrónico protegido] establecer smtp=correo.midominio.com establecer[correo electrónico protegido] establecer smtp-auth-contraseña=contraseña de alertas establecer smtp-auth=iniciar sesión
Luego en nuestros scripts invocamos mailx así:
echo "Mensaje de prueba" | correo "[correo electrónico protegido] [correo electrónico protegido]" -s "Asunto del correo electrónico" "Cuerpo del correo electrónico"
o podrías hacer esto:
mailx -s "asunto" -a /ruta/a/algún/archivo[correo electrónico protegido]
donde -a le permite adjuntar un archivo y test.msg es un archivo externo para leer en el cuerpo del correo electrónico.
u otra forma, similar a la primera con el archivo adjunto, es:
echo "Cuerpo del mensaje" | mailx -s "asunto" -a /ruta/a/algún/archivo[correo electrónico protegido]