O comando mail requer um servidor de email?

O comando mail requer um servidor de email?

É necessário configurar um servidor de e-mail antes de poder usar o mailcomando linux?

Responder1

Não, você não precisa de um servidor de e-mail para enviar e-mails. Estou mais familiarizado com o Sendmail e existem 3 classificações de funcionalidade que atendem ao email como serviço. MDA (Mail Delivery Agents) é 1, 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” email.

Quando você executa maile especifica um endereço para enviar mensagens, [email protected]. O cliente de e-mail invocará o MTA ( /usr/bin/sendmail), que então consultará o DNS desse host/domínio (exemplo.com) e descobrirá qual valor está designado para seu registro MX. MX significa Mail Exchanger.

Exemplo

Você pode usar o digcomando para ver isso:

$ dig gnu.org mx

; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;gnu.org.           IN  MX

;; ANSWER SECTION:
gnu.org.        299 IN  MX  10 eggs.gnu.org.

;; ADDITIONAL SECTION:
eggs.gnu.org.       299 IN  A   208.118.235.92
eggs.gnu.org.       299 IN  AAAA    2001:4830:134:3::10

;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:27:22 2013
;; MSG SIZE  rcvd: 90

Portanto, o cliente tentará se conectar a Eggs.gnu.org na porta 25 para entregar este e-mail.

Servidor dns?

@puk fez a seguinte pergunta de acompanhamento:

Este DNS está na minha máquina local?

Ao que respondi:

@puk - pode ser da mesma maneira que o servidor de e-mail, mas normalmente não é. Olhe em seu /etc/resolv.confarquivo e também ao executar o digcomando você notará a SERVER: ...linha na parte inferior. Esse é o servidor DNS que atende sua solicitação.

Exemplo

Meu /etc/resolv.confarquivo contém o seguinte:

nameserver 192.168.1.8

E consultas como esta, usando dig:

$ dig gnu.org mx

Resultado nisso na parte inferior:

;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:46:13 2013
;; MSG SIZE  rcvd: 90

E para o leitor astuto, uma pergunta: como isso está configurado? A resposta é o /etc/nsswitch.confarquivo. Especificamente esta linha:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Ou seja, use os arquivos primeiro ( /etc/hosts), seguido por mdns4_minimal. Esse é um DNS multicast. É basicamente um cache de pesquisas anteriores. Por último utiliza dnsqual é o endereço IP do nameserverdesignado no /etc/resolv.confarquivo.

Responder2

Realmente depende de qual versão mailvocê está usando.

Todas as versões precisam de um MTA para realmente entregar o e-mail, mas algumas versões são capazes de usar SMTP para se comunicar com um MTA remoto (o "smarthost", por exemplo, o servidor de e-mail do seu ISP) e algumas só podem canalizar a mensagem para /usr/sbin/sendmailenviar o e-mail via um MTA local.

Neste último caso, o MTA local poderia ser um MTA completo comoenviar correiooueximoupós-fixado. Ou poderia ser um simples MTA somente para envio, comomailer nuloousmtp. Ou um mini-MTA um pouco mais sofisticado comomsmtpque também oferece suporte ao enfileiramento de mensagens para entrega posterior.

No mundo do Software Livre e Código Aberto, existem duas variantes principais do mailxpacote (que fornece o mailcomando): bsd-mailx, e heirloom-mailx. O mailcomando também está disponível no GNU mailutils.

bsd-mailxnão fala SMTP e só pode enviar e-mails canalizando-os para/usr/sbin/sendmail

herança-mailxpode falar SMTP para um smarthost, bem como o método tradicional 'pipe-to-sendmail'. POR FALAR NISSO,Lesmaé provavelmente o melhor derivado do heirloom-mailx - ainda está sendo desenvolvido e atualizado ativamente.

Utilitários de correio GNUcontém diversas ferramentas relacionadas a e-mail para usuários finais e administradores de sistemas, incluindo uma versão do maile muito mais.

Então, para responder à sua pergunta "Você precisa de um servidor de e-mail?". Sim, mais ou menos. Você precisa de um, mas, dependendo da versão mailinstalada, talvez não seja necessário instalá-lo e configurá-lo em seu próprio sistema.

IMO, é melhor você ter pelo menos um MTA mínimo msmtp(ou um completo como postfixou exim) do que depender apenas de um smarthost heirloom-mailxporque você ainda precisa enfileirar e-mails para entrega posterior quando sua conexão com a Internet estiver inoperante ou seu smarthost estiver inacessível. Com uma fila local maile crondoutros programas podem simplesmente enviar e esquecer qualquer e-mail. Sem uma fila local, eles terão que lidar de alguma forma com a condição de erro se o smarthost estiver indisponível.

informação relacionada