¿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.
email
software-rec
smtp
FlappySocks
fuente
fuente
Respuestas:
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.
fuente
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:
Siempre que el servidor SMTP especificado
relayhost
no requiera autenticación, le permite retransmitir o es un destino válido para la dirección del destinatario, esto funcionará.El
myorigin
parámetro 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:
Entonces en
/etc/postfix/sasl_password_maps
tener este contenido:Todo el correo será enviado a su servidor de retransmisión con el nombre de usuario y contraseña especificados.
fuente
relayhost=other.mailserver.com:465
thensmtp_tls_wrappermode=yes
ysmtp_tls_security_level=encrypt
pero está intentando usar el usuario local como autenticación. Tengo que reescribir el usuario de autenticación de alguna manera.Suponiendo que necesita un programa que pueda ejecutar desde el shell como sendmail (8), ¿quizás MSMTP se ajuste a sus necesidades? Se puede conectar a un servidor SMTP remoto y enviar el correo que recibe como stdin, al igual que sendmail.
fuente
ESMTP es un servidor de transferencia de correo de solo retransmisión que puede funcionar para su aplicación.
fuente
Puede encontrar sSMTP adecuado para sus necesidades. Lea este 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.
fuente
Si usa Docker, https://hub.docker.com/r/zixia/simple-mail-forwarder/ es una buena opción para una implementación sencilla y solo de 10 MB de tamaño, con soporte completo de smtp (tls).
fuente
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 del lenguaje de programación en el que se escribió), hay muchas formas 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 servidor de correo en la red, simplemente apunte el 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.
fuente
mail
osendmail
ejecutables con nombre. Notificaciones del sistema. De eso se trata, ¿no? Para cualquier otra cosa no hay restricciones.