it-swarm-es.tech

Servidor SMTP saliente ligero

¿Qué utiliza como SMTP ligero para los correos electrónicos salientes únicamente?

Estoy ejecutando una aplicación que envía correos electrónicos a través de SMTP cuando ocurren eventos de vez en cuando, y no necesito un servidor de correo electrónico con todas las funciones.

EDITAR: estoy más que feliz de usar algo como postfix (y do), si esa es la mejor opción. Estaba pensando que puede haber algo mucho más simple, que se agota la caja.

49
FlappySocks

Hay varias opciones de agentes mínimos de transferencia de correo de solo retransmisión (MTA o "servidores de correo"), algunos de los cuales se han mencionado en otras respuestas:

Para que cualquiera de ellos funcione, necesita un MTA completo en algún lugar que transmitirá aún más sus mensajes (conocido como "centro de correo") y se recomienda encarecidamente que controle este centro de correo. Bad Things ™ puede suceder de otra manera.

24
user601

En mi humilde opinión, la forma más fácil de hacer esto es con postfix. Puede configurarlo como un relé saliente ligero con estos comandos:

postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com

Siempre que el servidor SMTP especificado en relayhost no requiera autenticación, le permita retransmitir o sea un destino válido para la dirección del destinatario, esto funcionará.

El parámetro myorigin será el nombre de dominio predeterminado. Entonces, si envía un correo a foo, irá a [email protected] El correo enviado por la barra de usuario será de [email protected]

Si necesita autenticarse y desea admitir TLS, también ejecute los siguientes comandos:

postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps

Luego en /etc/postfix/sasl_password_maps tiene este contenido:

/./ username:password

Todo el correo será enviado a su servidor de retransmisión con el nombre de usuario y contraseña especificados.

11
bahamat

Suponiendo que necesita un programa que pueda ejecutar desde Shell como sendmail (8), tal vez MSMTP se adaptará a sus necesidades? Se puede conectar a un servidor SMTP remoto y enviar el correo que recibe como stdin, al igual que sendmail.

9

ESMTP es un servidor de transferencia de correo de retransmisión única que puede funcionar para su aplicación.

4
moberley

Puede encontrar sSMTP adecuado para sus necesidades. Lea esto artículo sobre él y sus limitaciones.

Honestamente, sin embargo, no estaría demasiado estresado por instalar postfix o exim, incluso si es solo para enviar correos electrónicos.

2
Evan

Si usa docker, https://hub.docker.com/r/zixia/simple-mail-forwarder/ es una buena opción para una implementación fácil y solo de 10 MB de tamaño, con smtp completo (tls ) apoyo.

2
Huan

Técnicamente no necesita un servidor de correo electrónico en su host, lo que necesita (y probablemente ya tenga) es un cliente smtp (o MUA) que puede conectarse a su servidor SMTP corporativo (que podría estar en cualquier lugar al que pueda conectarse) .)

Dependiendo de la aplicación (y el lenguaje de programación en el que se escribió), hay muchas maneras diferentes para que su aplicación se conecte al 'servidor' SMTP de su red.

Por lo general, con PHP o Python, hay un archivo de configuración con la aplicación para especificar el servidor "SMTP" (que puede estar en su Host o en otra parte de su red). Si ya tiene un correo servidor en la red, luego simplemente apunte la configuración a ese servidor.

Si no existen otras opciones, la aplicación puede generar el mensaje de correo electrónico a la salida estándar que puede procesar con algo como:

listoftargets = "[email protected] [email protected]" echo "Contenido de prueba" | mail -s "Test Subject" $ listoftargets

En algunos sistemas, ya hay un servidor de correo mínimo para enviar solo.

Sam T.

1
samt