Qual é a maneira mais simples de enviar e-mail entre dois computadores?

1

Para esclarecer a intenção da minha pergunta, deixe-me fazer uma analogia com a pergunta "Qual é a maneira mais simples de colocar dados em um arquivo?"

A maneira usual de os usuários GUI colocarem dados em um (novo) arquivo é clicar duas vezes em um ícone de programa, clicar na barra de menus, clicar em "novo", clicar em "salvar", clicar para escolher um local para o arquivo , digite o nome do arquivo e clique no botão "salvar".

A maneira mais simples de colocar dados em um arquivo (na linha de comando) é: echo whatever > file

Pelo que entendi, os endereços de e-mail originalmente se referiam a nomes de usuários reais em máquinas e nomes de máquinas reais. Portanto, se o IP da máquina em que você se conectou (digamos, em uma universidade) fosse 7.7.7.7, e se você logasse com o nome de usuário pete , você poderia ser contatado por e-mail enviado para [email protected] . (Isso é certo?)

O ponto é que o e-mail estava diretamente associado ao seu nome de usuário e computador. Daí porque um email que recebi da linha de comando de um servidor no trabalho mostrou como enviado de "[email protected]".

Então, qual é a configuração mínima necessária para enviar e-mail e receber entre dois computadores (diretamente para as contas de usuário da linha de comando), sem terceiro computador ou Servidor do Google ou MS Exchange ou qualquer outra coisa?

(Para sistemas UNIX e Linux, obviamente. Principalmente interessados em Linux, embora se o Mac estiver incluído, seria legal.)

Observação: se houver um grande número de maneiras diferentes de fazer isso, por isso é "muito amplo", ajude-me a editar a pergunta. Não estou pedindo recomendações de software, estou perguntando como as partes se encaixam no nível mais simples sem proxies e relés e outras complexidades.

Editar: as respostas até o momento são úteis, mas omite qualquer detalhe sobre como receber o e-mail. Parece que a frase de pesquisa do Google que eu estava perdendo é "MTA Linux mínimo", mas se alguém quiser responder mais completamente, eu adoraria. (Se não, vou ter que resolver isso e, eventualmente, auto-responder.):)

    
por Wildcard 21.06.2017 / 02:59

3 respostas

1

Suponho que os dois usuários e seus dois computadores sejam independentes, por exemplo, esse usuário A não pode simplesmente acessar o computador do usuário B e gravar arquivos no sistema de arquivos.

Isso significa que a configuração mínima é aquela em que A pode se conectar ao MTA na máquina de B, e o MTA se considera responsável por e-mail para a máquina / domínio de B.

Isso significa que quando A diz que tem uma mensagem para B, o MTA assume a responsabilidade de proteger a mensagem na caixa de correio de B.

Descendo um nível, isso significa:

  • A conecta-se à porta do ouvinte do MTA de B (tradicionalmente a porta TCP / 25)
  • A identifica o remetente e o destinatário, e o MTA de B diz ok
  • A passa a mensagem e o MTA de B envia uma resposta que indica que é responsável
  • O MTA de
  • B, grava a mensagem no disco (caixa de correio de B)

Existem maneiras hackyas, que mencionarei de passagem. Se A é raiz na máquina de B, A pode anexar uma mensagem diretamente à caixa de correio de B apenas criando / editando um arquivo adequado. Por exemplo, editando um arquivo mbox. Mas esse é um caso meio patológico.

    
por 21.06.2017 / 07:36
1

Se você quiser apenas adicionar software ao remetente e ao destinatário, também precisará de um servidor DNS. MTA precisa disso para enviar e-mail.

A configuração é de dois servidores em uma rede fechada sem acesso à internet. Aqui listado com nomes de host (eles são necessários) e número IP. Você pode usar qualquer número IP.

7.7.7.7 foo.org
7.7.7.8 bar.org

Em foo.org , você precisa instalar um servidor DNS (ou seja, vincular) e bar.org deve usar isso. Ambos os servidores devem ter um MTA (postfix / exim4).

Quando configurado, você pode executar isso em bar.org :

john@bar:~$ date | mail -s Test [email protected]
    
por 21.06.2017 / 07:20
0

A forma mais simples usual de enviar e-mail entre dois computadores é ter um "agente de transferência de e-mail" (MTA, programa que aceita e-mails no formato SMTP) executado no computador de envio e recebimento. Em seguida, você pode executar qualquer programa de linha de comando no computador de envio que formata seu email para contatar o MTA de envio e ele será entregue para o MTA de recebimento. Por exemplo

echo "This is a text" | mail -s "This is the subject"

é o suficiente. Existem vários outros programas para enviar / formatar / ler e-mails.

Em uma pitada, você pode contatar o MTA destinatário diretamente com telnet etc., conforme descrito na outra resposta. Isso é mais mínimo, mas eu não chamaria isso de "mais simples".

    
por 21.06.2017 / 07:22