A maneira padrão de enviar um email a partir de um script de shell é o comando mail
, que é fornecido pelo pacote bsd-mailx
. Para usá-lo, você faz algo como:
echo 'This is the message.' | mail -s 'Subject line here' [email protected]
Para mais controle, a maneira padrão é o comando sendmail
. O comando mail
é na verdade apenas um wrapper que chama sendmail
com um email formatado corretamente.
O comando sendmail
é a interface Unix padrão para o agente de transporte de mensagens (MTA) em um sistema Unix. Tradicionalmente, todos os sistemas Unix possuem um. Mas como eles geralmente precisam de configuração, nem o desktop nem o servidor do Ubuntu instalam um por padrão. Então você precisa instalar um MTA você mesmo.
Postfix e Exim são provavelmente os dois MTAs mais populares no momento. Ambos são bem empacotados e funcionam de maneira bastante fácil. Mas eles estão com todos os recursos. Eles podem ser configurados minimamente e o pacote ajuda você a fazer isso automaticamente, mas a documentação que você encontrará on-line geralmente pressupõe que você tenha a funcionalidade MTA completa configurada (por exemplo, caixas de correio para e-mails recebidos e assim por diante).
Se você quiser apenas enviar e-mails de saída, o nullmailer é uma boa escolha. É um MTA mínimo projetado para fornecer a interface sendmail
padrão para que tudo na pilha funcione bem, exceto pelo envio de e-mails apenas.
Postfix, Exim estão todos no main, então são bem suportados no Ubuntu. nullmailer está no universo, então é suportado apenas pela comunidade.
Então, para resumir:
-
Selecione e instale um MTA. Se apenas para o correio de saída a partir de scripts shell, o nullmailer é uma boa escolha.
-
Instale o pacote
bsd-mailx
e usemail
para enviar e-mail a partir do seu script de shell.