O que você usa como um SMTP leve apenas para e-mails enviados?
Estou executando um aplicativo que envia e-mails via SMTP quando ocorrem eventos de vez em quando e não preciso de um servidor de e-mail 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.
email
software-rec
smtp
FlappySocks
fonte
fonte
Respostas:
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.
fonte
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:
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
myorigin
parâmetro 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:
Então,
/etc/postfix/sasl_password_maps
tenha este conteúdo:Todo o correio será enviado para o seu host de retransmissão com o nome de usuário e a senha especificados.
fonte
relayhost=other.mailserver.com:465
thensmtp_tls_wrappermode=yes
esmtp_tls_security_level=encrypt
mas está tentando usar o usuário local como o auth. Eu tenho que reescrever o usuário auth de alguma forma.Supondo que você precise de um programa que possa ser executado no shell como o sendmail (8), talvez o MSMTP atenda às suas necessidades? Ele pode se conectar a um servidor SMTP remoto e enviar e-mails como stdin, assim como o sendmail.
fonte
O ESMTP é um servidor de transferência de email somente para retransmissão que pode funcionar para seu aplicativo.
fonte
Você pode achar o sSMTP adequado para suas necessidades. Leia este artigo sobre ele e suas limitações.
Honestamente, porém, eu não ficaria muito estressado com a instalação do postfix ou exim, mesmo que seja apenas para enviar e-mails.
fonte
Se você usar 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 suporte total a smtp (tls).
fonte
Tecnicamente, você não precisa de um servidor de email no 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 muitas maneiras diferentes de conectar seu aplicativo ao servidor SMTP 'the' na sua rede.
Geralmente, com PHP ou Python, há um arquivo de configuração com o aplicativo para especificar o servidor "SMTP" (que pode estar no seu host ou em outro lugar na sua rede.) Se você já possui um servidor de correio na rede, basta apontar o 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 somente.
Sam T.
fonte
mail
ousendmail
nomear executáveis. Notificações do sistema. Esse é o ponto, não é? Para qualquer outra coisa, não há restrições.