O que você usa como um SMTP leve apenas para e-mails enviados?
Estou executando um aplicativo que envia emails via SMTP quando os eventos ocorrem de vez em quando e não preciso de um servidor de email completo.
EDIT: Estou mais do que feliz em usar algo como postfix (e faça), se essa é a melhor escolha. Eu estava pensando que pode haver algo muito mais simples, que corre fora da caixa.
Existem várias opções de agentes de transferência de e-mail mínimos (MTAs) ou "servidores de e-mail"), alguns dos quais foram mencionados em outras respostas:
Para que qualquer um desses funcione, você precisa de um MTA completo em algum lugar que retransmitir suas mensagens (conhecido como "hub de email") e é altamente recomendável que você controle esse hub de email. Bad Things ™ pode acontecer de outra maneira.
IMHO, a maneira mais fácil de fazer isso é com o postfix. Você pode configurá-lo como um relé de saída de luz com estes comandos:
postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com
Desde que o servidor SMTP especificado em relayhost
não exija autenticação, permita a retransmissão ou seja um destino válido para o endereço do destinatário, isso funcionará.
O parâmetro myorigin
será o nome de domínio padrão. Portanto, se você enviar um email para foo, ele será enviado para [email protected] O email enviado pela barra do usuário será de [email protected]
Se você precisar se autenticar e desejar dar suporte ao TLS, execute também os seguintes 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
Então em /etc/postfix/sasl_password_maps
tem este conteúdo:
/./ username:password
Todo o correio será enviado para o seu host de retransmissão com o nome de usuário e a senha especificados.
Supondo que você precise de um programa que possa ser executado no Shell, como o sendmail (8), talvez MSMTP atenda às suas necessidades? Ele pode se conectar a um servidor SMTP remoto e enviar e-mails como stdin, assim como o sendmail.
ESMTP é um servidor de transferência de email somente para retransmissão que pode funcionar para o seu aplicativo.
Você pode achar o sSMTP adequado para suas necessidades. Leia isto artigo sobre ele e suas limitações.
Honestamente, porém, eu não ficaria muito estressado em instalar o postfix ou o exim, mesmo que seja apenas para enviar e-mails.
Se você usa o docker, https://hub.docker.com/r/zixia/simple-mail-forwarder/ é uma boa opção para implantação fácil e apenas com tamanho de 10 MB, com smtp completo (tls ) Apoio, suporte.
Tecnicamente, você não precisa de um servidor de e-mail no seu host; o que você precisa (e provavelmente já possui) é um cliente smtp (ou MUA) que pode se conectar ao servidor SMTP corporativo (que pode estar em qualquer lugar ao qual você possa se conectar). .)
Dependendo do aplicativo (e da linguagem de programação em que foi escrito), existem várias maneiras diferentes de conectar seu aplicativo ao servidor SMTP 'the' na sua rede.
Geralmente, com PHP ou Python, existe um arquivo de configuração com o aplicativo para especificar o servidor "SMTP" (que pode estar no seu host ou em outro lugar da sua rede). Se você já possui um e-mail servidor na rede, basta apontar a configuração para esse servidor.
Se não houver outras opções, o aplicativo poderá gerar a mensagem de email na saída padrão que você pode processar com algo como:
listoftargets = "[email protected] [email protected]" echo "Conteúdo do teste" | mail -s "Assunto do teste" $ listoftargets
Em alguns sistemas, já existe um servidor de correio mínimo para envio apenas.
Sam T.