Todo mundo tem um endereço de e-mail — eles são essenciais para funcionar no mundo interconectado de meados do século 21. A maioria das pessoas tem seus endereços de e-mail por meio de seu empregador ou de um dos gigantes da tecnologia, como Google ou Microsoft. Mas você pode executar seu próprio servidor de e-mail com seu próprio nome de domínio a partir de um computador simples, como um Raspberry Pi.

Por que executar um servidor de e-mail no seu Raspberry Pi?

Os e-mails são o equivalente moderno de uma carta — são comunicações privadas, mas ao usar um provedor gratuito como o Gmail, você está dando um publicidade predatória e licença de empresa de rastreamento para vasculhar sua vida, seus compromissos, contatos pessoais, planos de viagem e reservas. O Google vende essas intrusões como recursos, mas para alguns, é um nível desconfortável de bisbilhotar.

Ao executar seu próprio servidor de e-mail, seus dados estão em suas próprias mãos e em seu próprio hardware, sem supervisão de entidades corporativas obscuras. E se você realmente precisa perder um e-mail com pressa, sempre pode simplesmente engolir o cartão microSD (na verdade, não faça isso).

Um Raspberry Pi é perfeito para este projeto devido ao seu baixo consumo de energia - um servidor de e-mail precisará ser ligado 24 horas por dia, 7 dias por semana, então qualquer coisa mais poderosa é dinheiro desperdiçado. O e-mail como tecnologia existe desde a década de 1970 e poderia ser usado nos computadores da época. Qualquer coisa mais poderosa que um Raspberry Pi é um exagero.

É difícil criar um servidor de e-mail Raspberry Pi?

Configurar um servidor de e-mail do zero pode ser complicado: envolve instalar e configurar vários componentes, incluindo Postfix, Dovecot, openDKIM, SpamAssassin e Sieve. Vai ocupar uma parte significativa do seu dia, e é um processo cheio de perigos e no qual é fácil cometer erros.

Felizmente, existem scripts que podem facilitar a instalação de um servidor de e-mail no seu Raspberry Pi, o que significa que você pode ter seu servidor de e-mail funcionando em menos de uma hora!

O que você precisará para seu servidor de e-mail

Para concluir este projeto, você precisará de:

  • Um Raspberry Pi (qualquer modelo serve)
  • Um cabo Ethernet
  • Um endereço IP estático
  • Um nome de domínio—se você ainda não tem um, aqui estão algumas dicas úteis sobre como escolher um nome de domínio
  • Conhecimento do endereço IP local do seu Pi
  • Outro computador

Configurando registros e abrindo portas

Navegue até o DNS avançado seção do seu registrador e exclua todos os registros já existentes. Clique Adicionar novo registro. Para o tipo, selecione Uma gravação, para o host, defina @e no campo de valor, defina seu endereço IP público. Salvar e, em seguida, clique em Adicionar novo registro novamente.

Neste registro, para o tipo, selecione Uma gravação; para o anfitrião, defina *; e no campo valor, defina seu endereço IP público. Por fim, adicione um novo MX registro, com @ como anfitrião, mail.seu-domínio.tld como o valor e defina a prioridade para 10. Salve os novos registros DNS.

Abra o menu de administração do seu roteador. Isso geralmente é feito digitando 192.168.1.1 em um navegador. Se isso não funcionar para você, consulte o manual do seu roteador. Localize uma seção intitulada Encaminhamento de porta, Mapeamento de portas, ou Gerenciamento de Portas, em seguida, crie quatro novas entradas:

  • A primeira é para HTTP solicitações de. Defina a porta local e pública para 80, e o endereço IP local para o endereço IP do seu Pi.
  • A segunda é para HTTPS solicitações de. Defina a porta local e pública para 443, e novamente, o endereço IP local para o endereço IP do seu Pi.
  • A terceira é para IMAP solicitações de. Defina a porta local e pública para 993, e novamente, o endereço IP local para o endereço IP do seu Pi.
  • A quarta é para SMTP solicitações de. Defina a porta local e pública para 587, e novamente, o endereço IP local para o endereço IP do seu Pi.

Prepare seu Pi!

Depois instalando um sistema operacional baseado em Debian no seu Raspberry Pi (O Raspberry Pi OS funcionará bem), conecte-o ao seu roteador com um cabo Ethernet.

  1. Faça login no Raspberry Pi usando o Secure Shell (SSH) por meio de um terminal, se estiver usando Linux ou macOS, ou com PuTTY, se estiver no Windows.
    ssh pi@sua.pi.local.ip.endereço
  2. Atualize e atualize quaisquer pacotes:
    sudo apt atualizar
    sudo apt upgrade
  3. Você usará o Apache como um proxy reverso para seu subdomínio de correio e o Certbot para obter certificados de segurança. Instale o Apache com:
    sudo apt instalar apache2
  4. Adicione o repositório do Certbot, atualize e instale o Certbot:
    sudo add-apt-repository ppa: certbot/certbot
    sudo apt atualizar
    sudo apt-pegue instale python3-certbot-apache
  5. Alterar diretório:
    cd /etc/apache2/sites-available/
  6. Use nano para criar um novo arquivo conf para seu subdomínio de email:
    sudonanocorrespondência.conf
    E cole:
    <Host Virtual *:80>
    Nome do servidorsua.domínio
    </VirtualHost>
    Salve e saia do nano com Ctrl+O, então Ctrl + X
  7. Altere o diretório e copie o arquivo de configuração padrão do Apache para o nome do seu novo domínio e uma cópia adicional para o nome do seu subdomínio:
    cd /etc/apache2/sites-available/
    sudocp 000-predefinição.confseu domínio.conf
    sudocp 000-predefinição.confcorrespondência.conf
  8. Editar seu-domínio.conf com nano:
    sudonanoseu domínio.conf
    E, sob a linha, adicione outra linha:
    Nome do servidorseu domínio.tld
  9. Salve e saia do nano com Ctrl+O, então Ctrl + X. E repita o processo para mail.conf.
  10. Habilite ambos os arquivos conf com:
    sudoa2ensiteseu domínio.conf
    sudoa2ensitecorrespondência.conf
  11. Reinicie o Apache:
    sudo service apache2 restart
  12. Execute o Certbot para obter certificados e chaves de segurança para o domínio principal e o subdomínio de correio.
    sudo certbot
    Você será solicitado a fornecer seu endereço de e-mail, para confirmação de que concorda com os Termos de Serviço, se você estaria disposto a compartilhar seu endereço de e-mail com o EFF e, finalmente, quais nomes você gostaria de ativar o HTTPS por. Imprensa Retornar para selecionar todos os domínios e, quando perguntado se deseja ou não redirecionar o tráfego HTTP para HTTPS, escolha 2 redirecionar.

Instale o software do servidor de e-mail

Siga estas etapas para instalar o software de e-mail.

  1. Vá para o seu diretório pessoal e baixe o e-mailwiz roteiro de instalação:
    cd ~
    curl -LO lukesmith.xyz/emailwiz.sh
  2. É sempre uma boa prática saber o que um script faz antes de rodar no seu Raspberry Pi, então:
    gatoe-mailwiz.sh
    …para verificar se há alguma coisa desagradável.
  3. Torne o script executável e execute o script:
    sudochmod +xe-mailwiz.sh
    sudo ./emailwiz.sh
  4. O script baixará e instalará Postfix, Dovecot, openDKIM e SpamAssasin, e você deverá interagir com a instalação em vários estágios.
  5. O assistente de instalação solicitará que você escolha um tipo de configuração de servidor de email. Use as setas do teclado para selecionar site da Internet, em seguida, pressione o Aba chave para que OK é destacado e clicado Digitar.
  6. Em seguida, você será solicitado a fornecer seu nome de domínio totalmente qualificado. Não adicione www ou http ao nome de domínio, apenas insira o próprio nome de domínio.
  7. Após a conclusão da instalação, você verá três registros de texto destacados em verde, juntamente com o host e os valores.
  8. Abra um navegador novamente, vá para a página DNS avançado do seu registrador e crie três novos registros TXT e cole cada registro no campo correspondente. Isso garantirá que seu e-mail fique fora da caixa de spam de outras pessoas.
  9. Qualquer usuário adicionado ao correspondência grupo receberá uma conta de e-mail com seu nome de usuário e senha do Pi. Adicione seu usuário Pi ao grupo de e-mail:
    sudo usermod -G mail -m
    É simples assim!

Conecte-se ao seu servidor de e-mail com um cliente no celular ou desktop

Seu servidor de e-mail está totalmente funcional e pronto para ser usado. Está protegido contra intrusos e qualquer conta de usuário em seu Pi pode usá-lo. É hora de se conectar a ele com um cliente de e-mail - embora, neste momento, todos os e-mails enviados provavelmente cheguem à caixa de spam do destinatário. Estamos usando o e-mail do Thunderbird para isso, embora o procedimento seja semelhante para qualquer cliente de e-mail móvel ou desktop.

No seu cliente de e-mail, clique em Adicionar Conta, e você será convidado a Configure seu endereço de e-mail existente. Digite seu nome, seu endereço de e-mail e sua senha. Seu endereço de e-mail é seu nome de usuário no Pi mais o nome de domínio; por exemplo, david@improvável.guru. Sua senha será a senha que seu usuário emprega para fazer login no Pi.

Em vez de clicar no Continuar botão, em vez disso, clique no botão Configurar manualmente link. Você precisará preencher os detalhes do servidor de entrada e saída. Para estes, o nome do host ou nome do servidor é mail.seu-nome-dominio.tld, o nome de login é seu endereço de e-mail completo e a senha é… sua senha. Defina a porta IMAP para 993 e a porta SMTP para 587. A segurança da conexão deve ser definida como STARTTLS e o método de autenticação para senha normal.

Agora você pode enviar e receber e-mail através do seu servidor de e-mail Raspberry Pi!

Ter seu próprio serviço de e-mail significa que você não precisa depender de mais ninguém. Você é completamente autossuficiente e está fora do alcance dos gigantes da tecnologia. Mesmo assim, se você usar seu servidor de e-mail para fins malignos, como e-mails em massa ou spam, você será colocado na lista negra por outros provedores. Por isso tem cuidado.