Como posso configurar um Agente de Transferência de Correio?

17

Eu pretendo usar muttpara enviar e-mails automatizados via cronou atcom anexos ao meu endereço do gmail quando eventos específicos acontecem no meu servidor Ubuntu. Atualmente, muttnão é possível enviar email para endereços de email externos; acredito que seja porque preciso configurar um Agente de Transferência de Correio. Como faço para selecionar um MTA adequado e como faço para configurá-lo para executar o que preciso?

Conorgriffin
fonte
1
Você não precisa do mutt para ter o cron ou enviar e-mails para sua conta do gmail. Qualquer MTA configurado corretamente deve ser suficiente para isso.
JanC 17/10/10
Eu preciso ser capaz de incluir anexos nas mensagens enviadas, então pensei que precisaria ficar sem áudio para isso.
conorgriffin
1
Esta é uma importante questão. Muitos de nós configuramos servidores Linux e precisamos de alguma maneira para enviar eventos e relatórios. Em muitos casos (a maioria!), Um servidor de email completo é um exagero. Aprendi isso recentemente configurando o Postfix para essa tarefa. Eu deveria ter configurado uma ferramenta somente de envio como uma dessas, e o farei no futuro.
Don Faulkner

Respostas:

20

Existem algumas opções a serem feitas ao selecionar um MTA para instalar; o primeiro é se você deseja um MTA somente de envio ou se precisa de um servidor de e-mail completo.

Esta postagem do Unix.SE fornece uma lista abrangente de MTAs somente para envio disponíveis; todos eles já estão empacotados para o Ubuntu 10.10. Há algumas coisas que você pode considerar ao escolher um MTA somente de envio:

  1. se ele pode enfileirar e-mails para entrega posterior em caso de falha: IIRC, somente isso nullmailerpode ser feito.

  2. se ele substituirá o agente de entrega de correio do sistema (procure uma linha Provides: mail-transport-agentna saída de apt-cache show package). Caso isso aconteça, todos os emails originários do sistema (incluindo relatórios de tarefas cron, estatísticas de popularidade etc.) serão tratados pelo MTA que você instala: se você não configurar aliases de email corretos para usuários raiz e outros, o email pode acabar sendo entregue no endereço errado (normalmente, algum administrador de sistema no seu ISP). Atualmente, pacotes nullmailer, esmtp-run(mas não esmtp) e ssmtpse enquadram nesta categoria.

  3. Todos os MTAs de envio apenas encaminham seu email para outro servidor (chamado "host de retransmissão" ou "smarthost"; normalmente é o servidor SMTP do seu ISP) e, em seguida, permitem que ele lide com todos os detalhes da entrega real de mensagens na Internet. Você precisa descobrir se existem requisitos especiais para se conectar ao servidor ISP (por exemplo, algum tipo de autenticação ou TLS) e escolher um MTA que ofereça suporte aos recursos necessários (por exemplo, ssmtpnão suporta nenhum tipo de autenticação ou SSL / TLS).

Servidores de e-mail completos incluem exim , postfix e sendmail . O script de instalação pós-instalação do Debian / Ubuntu fará um ótimo trabalho de produção de uma configuração funcional para algumas configurações comuns (entrega de email apenas para o sistema local; envio de email através de um "smarthost" - ou seja, um servidor de email que você funil todos os seus emails, normalmente o host SMTP do seu ISP; site da Internet com conectividade total de entrada e saída). IMHO, o postfix é o mais fácil de executar e configurar, mas como é tão capaz, seu manual de configuração é muito mais longo do que qualquer um dos MTAs somente de envio.

Além disso, o risco real de configurar um servidor de correio é que, se você cometer um erro na configuração local, o correio será entregue no local errado (leia-se: perdido) ou - pior - com um sistema de retransmissão aberta que pode ser usado por remetentes de spam (e, acredite, eles podem encontrar uma retransmissão aberta antes que você perceba que seu servidor é um).

Meu conselho seria começar com um MTA somente de envio e, em seguida, atualizar para um servidor de email completo somente se você vir a necessidade (o que não é o caso se você quiser apenas enviar emails para o seu endereço do GMail).

Riccardo Murri
fonte
OK, digamos que eu configure um endereço de email como [email protected] e ative o smtp na conta do Gmail. Eu poderia configurar um programa cliente no servidor para enviar e-mail usando essa conta do Gmail via SMTP e, portanto, evitar a complexidade de uma configuração completa do servidor de e-mail?
conorgriffin
@Griffo: Sim, é exatamente isso que um MTA "somente envio" faz; basta usar msmtp(como sugerido na resposta do ixtmixilix) ou escolher um da lista no URL que eu publiquei acima.
Riccardo Murri
+1 para nullmailer ... Eu uso nos meus servidores, e é muito conveniente. Muito leve, relativamente fácil de configurar. E uma vez que ele funciona, você simplesmente não tem que se preocupar sobre isso :)
Pouco Jawa
Além disso, o mda (The DragonFly Mail Agent) pode enfileirar emails para entrega posterior.
Tomasz Zieliński
É dma, não mda (The DragonFly Mail Agent).
Andreas J.
6

Eu recomendaria msmtp. Configurar outros sistemas de correio, como sendmail, é definitivamente um incômodo. Depois de msmtpconfigurar, você pode usá-lo com mutt, e também pode mascará-lo sendmailpara que os programas não saibam a diferença entre os dois MTAs. Detalhes completos disponíveis no site.

ixtmixilix
fonte
3

Os links abaixo fornecem todas as opções de MTA que você pode escolher, de acordo com a sua versão do Ubuntu:

http://packages.ubuntu.com/precise/mail-transport-agent (para 12.04)
http://packages.ubuntu.com/trusty/mail-transport-agent (para 14.04)

Pessoalmente, achei ssmtpmuito fácil de configurar e executar, apenas 2 comandos farão:

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp
Tomofumi
fonte
1
De acordo com o wiki do ArchLinux, o ssmtp não é mais mantido e eles recomendam o msmtp .
sebastian-c