ti-enxame.com

Servidor SMTP de saída leve

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.

49
FlappySocks

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.

24
user601

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.

11
bahamat

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.

9
Michael Ratanapintha

ESMTP é um servidor de transferência de email somente para retransmissão que pode funcionar para o seu aplicativo.

4
moberley

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.

2
Evan

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.

2
Huan

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.

1
samt