É necessário configurar um servidor de correio antes de poder usar o mail
comando linux ?
mail-command
puk
fonte
fonte
Respostas:
Não, você não precisa de um servidor de correio para enviar e-mails. Eu estou mais familiarizado com o Sendmail e existem três classificações de funcionalidade que atendem ao email como serviço. MDA (Mail Delivery Agents) é 1 e MTA (Mail Transfer Agents) é 2 e 3 é MUA (Mail User Agents).
A terminologia é confusa, mas você não precisa que um MTA esteja em execução o tempo todo. O MTA será chamado sempre que o MUA (
mail
) quiser "enviar" emails.Quando você executa
mail
e especifica um endereço para o qual enviar email[email protected]
,. O cliente de email invocará o MTA (/usr/bin/sendmail
), que consultará o DNS para esse host / domínio (exemplo.com) e descobrirá qual valor é designado para seu registro MX. MX significa Mail Exchanger.Exemplo
Você pode usar o
dig
comando para ver isso:Portanto, o cliente tentará se conectar ao eggs.gnu.org na porta 25 para entregar este email.
Servidor dns?
@puk fez a seguinte pergunta de acompanhamento:
Ao que eu respondi:
@puk - pode ser da mesma maneira que o servidor de correio, mas normalmente não é. Procure no seu
/etc/resolv.conf
arquivo e, ao executar odig
comando, você perceberá aSERVER: ...
linha na parte inferior. Esse é o servidor DNS que atende sua solicitação.Exemplo
Meu
/etc/resolv.conf
arquivo contém o seguinte:E consultas como esta, usando
dig
:Resulte isso na parte inferior:
E para o leitor astuto, uma pergunta minha, como isso é configurado? A resposta é o
/etc/nsswitch.conf
arquivo. Especificamente esta linha:Ou seja, use os arquivos primeiro (
/etc/hosts
), seguidos pormdns4_minimal
. Esse é um DNS multicast. É basicamente um cache de pesquisas anteriores. Por fim, utilizadns
qual é o endereço IP donameserver
designado no/etc/resolv.conf
arquivo.fonte
Realmente depende de qual versão
mail
você está usando.Todas as versões precisam de um MTA para realmente entregar o email, mas algumas versões são capazes de usar o SMTP para conversar com um MTA remoto (o "smarthost", por exemplo, o servidor de email do seu provedor de serviços de Internet) e alguns podem apenas
/usr/sbin/sendmail
enviar a mensagem para enviar o email via um MTA local.Neste último caso, o MTA local pode ser um MTA de pleno direito como sendmail ou exim ou postfix . Ou pode ser um simples MTA somente de envio, como nullmailer ou ssmtp . Ou um mini-MTA um pouco mais sofisticado, como o msmtp, que também suporta filas de emails para entrega posterior.
No mundo do software livre e código aberto, existem duas variantes principais do
mailx
pacote (que fornece omail
comando):bsd-mailx
eheirloom-mailx
.O bsd-mailx não fala SMTP e só pode enviar mensagens encaminhando-as para
/usr/sbin/sendmail
O hierloom-mailx pode falar SMTP para um smartthost, bem como o método tradicional 'pipe to sendmail'.
Portanto, para responder à sua pergunta "Você precisa de um servidor de correio?". Sim, mais ou menos. Você precisa de um, mas, dependendo da versão do correio que você instalou, talvez não seja necessário instalá-lo e configurá-lo em seu próprio sistema.
Na IMO, é melhor você ter um MTA mínimo do
msmtp
que confiar apenas em um servidor inteligente,heirloom-mailx
porque ainda precisa enfileirar mensagens para entrega posterior quando a conexão à Internet estiver inoperante ou inacessível. Com uma fila local,mail
ecrond
outros programas podem simplesmente enviar e esquecer qualquer email. Sem uma fila local, eles precisam lidar de alguma forma com a condição de erro se o smarthost estiver indisponível.fonte