Configurar seu próprio servidor de email no Linux a partir do zero é um problema, se você não é um usuário avançado.
Este tutorial mostrará como usar o iRedMail para configurar rapidamente um servidor de email completo no Ubuntu 18.04, economizando muito tempo e dores de cabeça.
ÍNDICE DE CONTEÚDO
O que é o iRedMail?
O iRedMail é um script de shell que instala e configura automaticamente todos os componentes necessários do servidor email no servidor Linux / BSD, eliminando a instalação e configuração manuais.
Com o iRedMail, você pode criar facilmente caixas de email ilimitadas e domínios de email ilimitados em um painel de administração baseado na Web.
As caixas de email podem ser armazenadas no MariaDB / MySQL, banco de dados PostgreSQL ou OpenLDAP. A seguir, é apresentada uma lista de softwares de código aberto que serão instalados e configurados automaticamente pelo iRedMail.
- Servidor SMTP Postfix
- Servidor IMAP Dovecot
- Servidor web Nginx para servir o painel de administração e o webmail
- OpenLDAP, MySQL / MariaDB ou PostgreSQL para armazenar informações do usuário
- Amavised-new para assinatura e verificação de DKIM
- SpamAssassin para anti-spam
- ClamAV para antivírus
- Roundcube webmail
- Groupware SOGo, fornecendo webmail, calendário (CalDAV), contatos (CardDAV), tarefas e serviços ActiveSync.
- Fail2ban para proteger SSH
- gerenciador de lista de discussão mlmmj
- Monitoramento do servidor Netdata
- Servidor de políticas Postfix do iRedAPD para lista cinza
Etapa 1: escolha o provedor de hospedagem certo e compre um nome de domínio
Para configurar um servidor de email completo com o iRedMail, você precisa de um servidor com pelo menos 2 GB de RAM, pois após a instalação, o servidor utilizará mais de 1 GB de RAM.
Este tutorial é realizado em um servidor VPS da Vultr.
Eu recomendo o Vultr porque não bloqueia a porta 25, para que você possa enviar emails ilimitados (email transacional e boletins) sem gastar dinheiro com a retransmissão SMTP.
Outros provedores de VPS, como o DigitalOcean, bloqueiam a porta 25.
O DigitalOcean não desbloqueia a porta 25, portanto, você precisará configurar o relé SMTP para contornar o bloqueio, o que pode custar dinheiro adicional.
Caso a porta 25 esteja bloqueada, a Vultr pode desbloquear se você abrir um tíquete de suporte.
Acesse o site da Vultr para criar uma conta. Escolha o plano VPS Linux não gerenciado de 2 GB.
Depois de criar uma conta, a Vultr enviará um email com os detalhes de login do servidor SSH. Para fazer login no servidor, use um cliente SSH.
Se você estiver usando Linux ou macOS no seu computador, basta abrir uma janela do terminal e execute o seguinte comando para fazer login no servidor. Substitua 12.34.56.78 pelo endereço IP do seu servidor.
ssh root@12.34.56.78
Você será solicitado a digitar a senha. Se você estiver usando o Windows, leia o seguinte artigo sobre como usar o cliente SSH.
Você também precisa de um nome de domínio. Registrei meu nome de domínio no NameCheap porque o preço é baixo e eles oferecem proteção de privacidade a quem é gratuita por toda a vida.
Etapa 2: Criando Registro MX DNS
O registro MX especifica qual host ou hosts manipula emails para um nome de domínio específico. Por exemplo, o host que lida com emails conectandonet.com.br
é mail.conectandonet.com.br
.
Se alguém com uma conta do Gmail enviar um email para somebody@conectandonet.com.br
, o servidor do Gmail consultará o registro MX do conectandonet.com.br.
Quando descobre que mail.conectandonet.com.br
é responsável por aceitar o email, ele consulta o registro A mail.conectandonet.com.br
para obter o endereço IP, para que o email possa ser entregue.
No seu gerenciador de DNS, crie um registro MX para o seu nome de domínio. Digite @
no campo Nome para representar o nome do domínio principal e, em seguida, digite mail.your-domain.com
no campo Valor.
Nota: O nome do host para o registro MX não pode ser um alias para outro nome. Além disso, é altamente recomendável que você use nomes de host, em vez de endereços IP nus para o registro MX.
Seu gerente de DNS pode exigir que você insira um valor de preferência (também conhecido como valor de prioridade). Pode ser qualquer número entre 0 e 65.356.
Um número pequeno tem prioridade mais alta que um número grande. É recomendável que você defina o valor como 0, para que este servidor de email tenha a maior prioridade para receber e-mails.
Após criar o registro MX, você também precisará criar um registro A para mail.your-domain.com
que ele possa ser resolvido para um endereço IP. Se o seu servidor usa o endereço IPv6, adicione um registro AAAA.
Dica: Se você usa o serviço DNS do Cloudflare, não deve ativar o recurso CDN ao criar um registro para mail.your-domain.com
. O Cloudflare não suporta proxy SMTP.
Etapa 3: configurando o nome do host
Efetue login no servidor via SSH e execute o seguinte comando para atualizar os pacotes de software existentes.
sudo apt update sudo apt upgrade
E defina um nome de domínio totalmente qualificado (FQDN) para o seu servidor com o seguinte comando.
sudo hostnametl set-hostname mail.seudominio.com
Também precisamos atualizar o /etc/hosts
arquivo com um editor de texto de linha de comando como o Nano.
sudo nano /etc/hosts
Edite-o como abaixo. (Use as setas para mover o cursor no arquivo.)
127.0.0.1 mail.seudominio.com localhost
Salve e feche o arquivo. (Para salvar um arquivo no editor de texto Nano, pressione Ctrl+O
e pressione Enter
para confirmar. Para fechar o arquivo, pressione Ctrl+X
.)
Para ver as alterações, efetue login novamente e execute o seguinte comando para ver seu nome de host.
hostname -f
Etapa 4: configurando o servidor de email no Ubuntu 18.04 com iRedMail
Execute os seguintes comandos para baixar a versão mais recente do instalador de scripts do iRedMail a partir do seu repositório Github.
wget https://github.com/iredmail/iRedMail/archive/1.3.2.tar.gz
Extraia o arquivo arquivado.
tar xvf 1.3.2.tar.gz
Em seguida, cd para o diretório recém-criado.
cd iRedMail-1.3.2/
Adicione permissão executável ao iRedMail.sh
script.
chmod +x iRedMail.sh
Em seguida, execute o script Bash com privilégio sudo.
sudo bash iRedMail.sh
O assistente de configuração do servidor de email será exibido. Use a tecla Tab para selecionar Sim e pressione Enter.
A próxima tela solicitará que você selecione o caminho de armazenamento de mensagens. Você pode usar o padrão /var/vmail
, então basta pressionar Enter.
Em seguida, escolha se você deseja executar um servidor web. É altamente recomendável que você opte por executar um servidor da Web, porque você precisa do painel de administração baseado na Web para adicionar contas de email. Além disso, permite acessar o webmail Roundcube.
Por padrão, o servidor da web Nginx está selecionado, então você pode simplesmente pressionar Enter. (Um asterisco indica que o item está selecionado.)
Em seguida, selecione o back-end de armazenamento para contas de email. Escolha um que você esteja familiarizado. Este tutorial escolheu o MariaDB.
Pressione as teclas de seta para cima e para baixo e pressione a barra de espaço para selecionar.
Se você selecionou MariaDB ou MySQL, precisará definir a senha raiz do MySQL.
Observe que, se você selecionou o MariaDB, não precisará de senha para fazer login no shell do MariaDB. Em vez de executar o comando normal mysql -u root -p
, você pode executar o seguinte comando para efetuar login, com sudo e sem fornecer a senha root do MariaDB.
raiz do sudo mysql -u
Isso ocorre porque o pacote MariaDB no Ubuntu 18.04 usa o plug-in de autenticação unix_socket, que permite aos usuários usar credenciais do SO para se conectar ao MariaDB, mas você ainda precisa definir a senha de root no assistente de configuração do iRedMail.
Em seguida, insira seu primeiro domínio de email. Você pode adicionar domínios de email adicionais posteriormente no painel de administração baseado na Web.
Este tutorial pressupõe que você deseja uma conta de email como john.doe@seudominio.com . Nesse caso, você precisa entrar your-domain.com aqui, sem sub-domínio.
Não pressione a barra de espaço após o seu nome de domínio. Acho que o iRedMail copiará o caractere de espaço junto com o seu nome de domínio, o que pode resultar em falha na instalação.
Em seguida, defina uma senha para o administrador do domínio de email.
Escolha componentes opcionais. Por padrão, 4 itens são selecionados. Se você deseja ter um SO groupware, selecione-o e pressione Enter.
Agora você pode revisar suas configurações. Digite Y
para iniciar a instalação de todos os componentes do servidor de email.
No final da instalação, escolha y para usar as regras de firewall fornecidas pelo iRedMail e reinicie o firewall.
Agora a instalação do iRedMail está concluída. Você será notificado sobre a URL do webmail, groupware SOGo e painel de administração da web e as credenciais de login. O arquivo iRedMail.tips contém informações importantes sobre o servidor iRedMail.
Reinicie seu servidor Ubuntu 18.04.
sudo shutdown -r now
Assim que seu servidor estiver online novamente, você pode visitar o painel de administração da web.
https://mail.your-domain.com/iredadmin/
Observe que no URL acima, o subdiretório para acessar o painel de administração é / iredadmin /, não / iredmail /. E porque ele está usando um certificado TLS autoassinado, você precisa adicionar uma exceção de segurança em seu navegador da web.
Etapa 5: Instalando o certificado TLS do Let’s Encrypt
Como o servidor de email está usando um certificado TLS autoassinado, os usuários do cliente de email da área de trabalho e os clientes do webmail receberão um aviso.
Para corrigir isso, podemos obter e instalar um certificado TLS Let’s Encrypt criptografado.
Obtenção do certificado
Primeiro, efetue login no servidor novamente via SSH e execute os seguintes comandos para instalar o cliente Let’s Encrypt (certbot) no Ubuntu 18.04.
sudo apt install software-propriedades-comuns sudo add-apt-repository ppa: certbot / certbot sudo apt instala certbot
O iRedMail já definiu as configurações de TLS no host virtual Nginx padrão, portanto, aqui eu recomendo usar o plug-in webroot, em vez do plug-in nginx, para obter o certificado.
Execute o seguinte comando. Substitua o texto em vermelho pelos seus dados reais.
sudo certbot certonly --webroot --agree-tos --email you@example.com -d mail.your-domain.com -w / var / www / html /
Quando pergunta se você deseja receber comunicações da EFF, pode escolher Não.
Se tudo correu bem, você verá o texto a seguir indicando que obteve um certificado TLS com êxito. Seu certificado e sua cadeia foram salvos no /etc/letsencrypt/live/mail.your-domain.com/
diretório
Falha na obtenção do certificado TLS
Se o certbot falhou ao obter o certificado TLS, talvez seja porque seus registros DNS não são propagados para a Internet.
Dependendo do registrador de domínio que você usa, seu registro DNS pode ser propagado instantaneamente ou pode demorar até 24 horas para ser propagado.
Você pode acessar https://dnsmap.io, digite o nome do host do servidor de email ( mail.your-domain.com
) para verificar a propagação do DNS.
Se o certbot falhou ao obter um certificado e você viu a seguinte mensagem,
Falha no procedimento de autorização. mail.conectandonet.com.br (http-01): urn: ietf: parâmetros: acme: erro: conexão :: O servidor não pôde se conectar ao cliente para verificar o domínio :: Buscando https://mail.conectandonet.com.br/. bem conhecido / acme-challenge / IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Tempo limite durante a conexão (provável problema de firewall)
Pode ser que você tenha definido o registro AAAA mail.your-domain.com
, mas o servidor da web Nginx não escuta no endereço IPv6. Para corrigir esse erro, edite o /etc/nginx/sites-enabled/00-default.conf
arquivo
sudo nano /etc/nginx/sites-enabled/00-default.conf
Encontre a seguinte linha.
#listen [::]: 80;
Remova o #
caractere para ativar o IPv6 para este host virtual Nginx.
ouça [::]: 80;
Salve e feche o arquivo. Em seguida, edite o host virtual SSL /etc/nginx/sites-enabled/00-default-ssl.conf
.
sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf
Adicione a seguinte linha.
listen [::]: 443 ssl http2;
Salve e feche o arquivo. Em seguida, teste a configuração do Nginx.
sudo nginx -t
Se o teste for bem-sucedido, recarregue o Nginx para que a alteração entre em vigor.
sudo systemctl recarregar nginx
Execute o seguinte comando novamente para obter o certificado TLS. Substitua o texto em vermelho pelos seus dados reais.
sudo certbot certonly --webroot --agree-tos --email you@example.com -d mail.your-domain.com -w / var / www / html /
Agora você deve conseguir obter o certificado TLS com sucesso.
Instalando o certificado no Nginx
Depois de obter um certificado TLS, vamos configurar o servidor da web Nginx para usá-lo. Edite o arquivo de modelo SSL.
sudo nano /etc/nginx/templates/ssl.tmpl
Encontre as 2 linhas a seguir.
ssl_certificate /etc/ssl/certs/iRedMail.crt; ssl_certificate_key /etc/ssl/private/iRedMail.key;
Substitua-os por:
ssl_certificate / etc / letsencrypt / live / mail.your-domain.com /fullchain.pem; ssl_certificate_key / etc / letsencrypt / live / mail.your-domain.com /privkey.pem;
Salve e feche o arquivo. Em seguida, teste a configuração do nginx e recarregue.
sudo nginx -t sudo systemctl recarregar nginx
Visite o painel de administração do iRedMail novamente, seu navegador não avisará mais, porque o Nginx agora está usando um certificado TLS válido.
Instalando o certificado TLS no Postfix e Dovecot
Também precisamos configurar o servidor Postfix SMTP e o servidor Dovecot IMAP para usar o certificado emitido Let’s Encrypt para que o cliente de email da área de trabalho não exiba um aviso de segurança.
Edite o arquivo de configuração principal do Postfix.
sudo nano /etc/postfix/main.cf
Encontre as 3 linhas a seguir. (linha 95, 96, 97).
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt
Substitua-os por:
smtpd_tls_key_file = / etc / letsencrypt / live / mail.your-domain.com /privkey.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem
Save and close the file. Then reload Postfix.
sudo systemctl reload postfix
Next, edit the main configuration file of Dovecot.
sudo nano /etc/dovecot/dovecot.conf
Fine the following 2 lines. (line 47, 48)
ssl_cert = </etc/ssl/certs/iRedMail.crt ssl_key = </etc/ssl/private/iRedMail.key
Replace them with:
ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem
Save and close the file. Then reload dovecot.
sudo systemctl reload dovecot
From now on, desktop mail users won’t see security warnings.
Etapa 6: Enviando email de teste
Faça login no painel iredadmin com a conta de email postmaster ( postmaster@seudominio.com ). Na Add
guia, você pode adicionar domínios ou endereços de email adicionais.
Depois de criar um usuário, você pode visitar o endereço de webmail do Roundcube e fazer login com a nova conta de usuário de email.
https://mail.seudominio.com/mail/
Agora você pode testar o envio e recebimento de emails. Pode ser necessário aguardar alguns minutos para receber e-mails, porque o iRedMail, por padrão, habilita a lista em cinza, que é uma maneira de instruir outros servidores SMTP de envio a tentar novamente em alguns minutos. A seguinte linha no arquivo de log de mensagens /var/log/mail.log
indica que a lista de cinza está ativada.
Endereço do destinatário rejeitado: rejeição intencional da política, tente novamente mais tarde;
Etapa 7: Verificando se a porta 25 (de saída) está bloqueada
O seu ISP ou provedor de hospedagem não bloqueará a conexão de entrada na porta 25 do seu servidor, o que significa que você pode receber e-mails de outros servidores de email.
No entanto, muitos provedores de ISP / hospedagem bloqueiam a conexão de saída para a porta 25 de outros servidores de email, o que significa que você não pode enviar emails.
Se o seu email não chegou ao seu outro endereço de email, como o Gmail, execute o seguinte comando no servidor de email para verificar se a porta 25 (de saída) está bloqueada.
telnet gmail-smtp-in.l.google.com 25
Se não estiver bloqueado, você verá mensagens como abaixo, indicando que uma conexão foi estabelecida com sucesso. (Dica: digite quit
e pressione Enter para fechar a conexão.)
Tentando 74.125.68.26 ... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp
Se a porta 25 (saída) estiver bloqueada, você verá algo como:
Trying 2607:f8b0:400e:c06::1a... Trying 74.125.195.27... telnet: Unable to connect to remote host: Connection timed out
Nesse caso, o Postfix não pode enviar e-mails para outros servidores SMTP. Peça ao seu ISP / provedor de hospedagem para abri-lo para você. Se eles recusarem sua solicitação, você precisará configurar o redirecionamento SMTP para ignorar o bloqueio da porta 25.
Ainda não consegue enviar e-mail?
Se a porta 25 (saída) não estiver bloqueada, mas você ainda não puder enviar e-mails de seu próprio servidor de e-mail para outro endereço de e-mail como o Gmail, verifique o registro de e-mail (/var/log/mail.log
).
sudo nano /var/log/mail.log
Por exemplo, algumas pessoas podem ver as seguintes linhas no arquivo.
host gmail-smtp-in.l.google.com [2404: 6800: 4003: c03 :: 1b] disse: 550-5.7.1 [2a0d: 7c40: 3000: b8b :: 2] Nosso sistema detectou que 550- 5.7.1 esta mensagem não atende às diretrizes de envio do IPv6 referentes aos registros e autenticação PTR 550-5.7.1 . Consulte 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError para obter mais informações
Isso significa que seu servidor de email está usando o IPv6 para enviar o email, mas você não configurou registros IPv6.
Você deve ir ao seu gerenciador de DNS, definir AAAA
registro para mail.your-domain.com
e definir o PTR
registro para o seu endereço IPv6, discutido na etapa 9.
Etapa 8: Usando clientes de email no seu computador ou dispositivo móvel
Inicie o seu cliente de email da área de trabalho, como o Mozilla Thunderbird, e adicione uma conta de email.
- Na seção servidor de entrada, selecione protocolo IMAP, insira
mail.your-domain.com
como o nome do servidor, escolha a porta 993 e SSL / TLS. Escolhanormal password
como o método de autenticação. - Na seção de saída, selecione Protocolo SMTP, insira
mail.your-domain.com
como o nome do servidor, escolha a porta 587 e STARTTLS. Escolhanormal password
como o método de autenticação.
Fail2ban bloqueando seu próprio endereço IP
Se você cometeu um erro e não conseguiu fazer login no servidor de email várias vezes, o serviço Fail2ban no servidor de email pode bloquear seu endereço IP. Você pode adicionar seu endereço IP à lista de permissões editando o jail.local
arquivo.
sudo nano /etc/fail2ban/jail.local
Adicione seu próprio endereço IP à lista de ignorados, como abaixo. Substitua 12.34.56.78 pelo seu endereço IP real.
ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
Salve e feche o arquivo. Em seguida, reinicie o Fail2ban.
sudo systemctl restart fail2ban
Etapa 9: Melhorando a capacidade de entrega de email
Para evitar que seus e-mails de ser marcada como spam, você deve definir PTR
, SPF
, DKIM
e DMARC
registros.
Registro PTR
Um registro de ponteiro, ou registro PTR, mapeia um endereço IP para um FQDN (nome de domínio totalmente qualificado). É a contrapartida do registro A e é usada para pesquisa reversa de DNS , o que pode ajudar a bloquear spammers.
Muitos servidores SMTP rejeitam emails se nenhum registro PTR for encontrado para o servidor de envio.
Para verificar o registro PTR em busca de um endereço IP, execute este comando:
dig -x endereço IP + curto
ou
endereço IP do host
Como você obtém o endereço IP do seu provedor de hospedagem ou ISP, e não do seu registrador de domínio, você deve definir o registro PTR para o seu IP no painel de controle do seu provedor de hospedagem ou solicitar ao seu ISP.
Seu valor deve ser o nome do host do seu servidor mail: mail.your-domain.com
. Se o seu servidor usa o endereço IPv6, adicione um registro PTR ao seu endereço IPv6 também.
Registro SPF
O registro SPF (Sender Policy Framework) especifica quais hosts ou endereços IP têm permissão para enviar emails em nome de um domínio.
Você deve permitir que apenas seu próprio servidor de email ou o servidor do seu ISP envie emails para o seu domínio. Na sua interface de gerenciamento DNS, crie um novo registro TXT como abaixo.
Explicação:
- TXT indica que este é um registro TXT.
- Digite @ no campo de nome para representar o nome de domínio principal.
- v = spf1 indica que este é um registro SPF e a versão é SPF1.
- mx significa que todos os hosts listados nos registros MX têm permissão para enviar emails para o seu domínio e todos os outros hosts não são permitidos.
- ~ all indica que os emails do seu domínio devem vir apenas de hosts especificados no registro SPF. Os emails de outros hosts serão sinalizados como forjados.
Para verificar se o seu registro SPF é propagado para a Internet pública, você pode usar o utilitário dig na sua máquina Linux, como abaixo:
dig your-domain.com txt
A txt
opção informa dig
que queremos apenas consultar registros TXT.
Registro DKIM
O DKIM (DomainKeys Identified Mail) usa uma chave privada para assinar digitalmente e-mails enviados do seu domínio. Os servidores SMTP receptores verificam a assinatura usando a chave pública, publicada no registro DKIM DNS.
O script do iRedMail configurou automaticamente o DKIM para o seu servidor. A única coisa a fazer é criar um registro DKIM no gerenciador de DNS. Execute o seguinte comando para mostrar a chave pública DKIM.
sudo amavisd-new showkeys
A chave pública DKIM está entre parênteses.
Em seguida, no seu gerenciador de DNS, crie um registro TXT, digite dkim._domainkey
o campo de nome. Copie tudo entre parênteses e cole no campo valor. Exclua todas as aspas duplas e quebras de linha.
Após salvar as alterações, execute o seguinte comando para testar se o seu registro DKIM está correto.
sudo amavisd-new testkeys
Se o registro DKIM estiver correto, o teste será aprovado. Observe que seu registro DNS pode precisar de algum tempo para se propagar para a Internet.
TESTANDO # 1 conectandonet.com.br: dkim._domainkey.conectandonet.com.br => pass
Registro DMARC
DMARC significa autenticação, relatório e conformidade de mensagens baseadas em domínio. O DMARC pode ajudar a receber servidores de email para identificar emails legítimos e impedir que seu nome de domínio seja usado por falsificação de email.
Para criar um registro DMARC, vá ao seu gerenciador de DNS e adicione um registro TXT . No campo nome, insira _dmarc
. No campo de valor, digite o seguinte. (Você deve criar o dmarc@your-domain.com
endereço de email.)
v = DMARC1; p = nenhum; pct = 100; rua = mailto: dmarc@seudominio.com
O registro DMARC acima é um ponto de partida seguro. Se você quiser ler a explicação completa do DMARC, consulte o seguinte artigo. Observe que isso é opcional.
Etapa 10: testando a pontuação e o posicionamento do email
Após criar o registro PTR, SPF, DKIM, acesse https://www.mail-tester.com . Você verá um endereço de email exclusivo. Envie um email do seu domínio para esse endereço e verifique sua pontuação.
Como você pode ver, obtive uma pontuação perfeita. No resultado do teste, você deve verificar se seu registro PTR, SPF e DKIM são válidos.
O Mail-tester.com pode mostrar apenas uma pontuação de remetente. Existe um outro serviço chamado GlockApps que permite verificar se o seu email está na caixa de entrada ou na pasta de spam do destinatário ou se foi rejeitado completamente.
Ele suporta muitos provedores de e-mail populares, como Gmail, Outlook, Hotmail, YahooMail, e-mail do iCloud, etc.
E se seus e-mails ainda estiverem sendo marcados como spam?
Tenho mais dicas para você neste artigo: Como impedir que seus e-mails sejam marcados como spam . Embora leve algum tempo e esforço, seus e-mails serão colocados na caixa de entrada após a aplicação dessas dicas.
E se o seu email for rejeitado pela Microsoft Mailbox?
A Microsoft parece estar usando uma lista negra interna que bloqueia muitos endereços IP legítimos. Se seus e-mails forem rejeitados pelo Outlook ou Hotmail, você deverá enviar o formulário de informações do remetente . Depois disso, seu email será aceito pelo Outlook / Hotmail.
Como desativar a lista cinza
Por padrão, o iRedMail ativou a lista de cinzas, o que instrui outros servidores SMTP de envio a tentar novamente em alguns minutos. Isso é útil principalmente para bloquear spam, mas também prejudica a experiência do usuário. Se você preferir desativar a lista cinza, siga as instruções abaixo.
Adicione permissão de gravação ao /opt/iredapd/settings.py
arquivo.
sudo chmod 600 /opt/iredapd/settings.py
Em seguida, edite o arquivo de configuração.
sudo nano /opt/iredapd/settings.py
Encontre a seguinte linha.
plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
Remova "greylisting"
da lista. Salve e feche o arquivo. Em seguida, reinicie o iredapd.
sudo systemctl restart iredapd
Mude o arquivo de configuração novamente para o modo somente leitura.
sudo chmod 400 /opt/iredapd/settings.py
Ativando a porta SMTPS 465
Se você for usar o cliente Microsoft Outlook, precisará habilitar a porta 465 do SMTPS no servidor SMTP Postfix .
Solução de problemas
Primeiro, use um VPS com pelo menos 2 GB de RAM. A execução do iRedMail em um VPS de 1 GB de RAM fará com que o banco de dados, SpamAssassin ou ClamAV seja morto devido a um problema de falta de memória.
Se você realmente deseja usar um VPS de 1 GB de RAM, perderá os emails recebidos e terá outros resultados indesejáveis.
Se a interface da web do iRedMail não estiver acessível, como um erro de gateway 502, verifique o /var/log/nginx/
diretório de logs do Nginx para encontrar pistas. Você também pode verificar o log de mensagens /var/log/mail.log
.
Verifique se os vários serviços estão em execução.
postfix do status do systemctl systemctl status dovecot systemctl status nginx systemctl status mariadb status do systemctl clamav-daemon status do systemctl amavis
Se você ativou o firewall, deverá abrir as seguintes portas no firewall.
Porta HTTP: 80 Porta HTTPS: 443 Porta SMTP: 25 Porta de envio: 587 (e 465 se você estiver usando o cliente de email do Microsoft Outlook) Porta IMAP: 143 e 993
Como renovar o certificado TLS
Vamos criptografar o certificado TLS emitido é válido por apenas 90 dias e é importante que você configure um trabalho Cron para renovar automaticamente o certificado. Você pode executar o seguinte comando para renovar o certificado.
sudo certbot renew
Você pode usar a --dry-run
opção para testar o processo de renovação, em vez de fazer uma renovação real.
sudo certbot renew --dry-run
Se você vir o seguinte erro ao renovar o certificado TLS.
O cliente não possui autorização suficiente :: Resposta inválida
Então você precisa criar o diretório oculto.
sudo mkdir -p /var/www/html/.well-known/acme-challenge
E defina www-data
como o proprietário do webroot.
sudo chown www-data: www-data / var / www / html / -R
Além disso, edite o host virtual SSL /etc/nginx/sites-enabled/00-default-ssl.conf
. Adicione as seguintes linhas.
location ~ /.well-known/acme-challenge { raiz / var / www / html /; permitir todos; }
Salve e feche o arquivo. Teste a configuração do Nginx e recarregue.
sudo nginx -t sudo systemctl recarregar nginx
Criar trabalho Cron
Se agora a execução a seco for bem-sucedida, você poderá criar um trabalho Cron para renovar automaticamente o certificado. Simplesmente abra o arquivo crontab do usuário root.
sudo crontab -e
Em seguida, adicione a seguinte linha na parte inferior do arquivo.
@daily certbot renew --quiet && systemctl recarregar postfix dovecot nginx
É necessário recarregar o Postfix, Dovecot e Nginx para fazer com que esses programas obtenham o novo certificado e chave privada.
Configurando o servidor de email de backup
Seu servidor de email principal pode estar inativo algumas vezes. Se você hospeda seu servidor de email em um datacenter, o tempo de inatividade é mínimo, portanto, não se preocupe em perder e-mails recebidos.
Se você hospeda seu servidor de email em casa, não é possível prever o tempo de inatividade, portanto, é uma boa prática executar um servidor de email de backup em um data center para evitar a perda de emails de entrada.
O servidor de email de backup precisa de apenas 512 MB de RAM para ser executado. Verifique os detalhes completos no artigo a seguir.
Para usuários avançados
O iRedMail não inclui um serviço de verificação DMARC; você pode conferir o seguinte tutorial para configurar o OpenDMARC para bloquear a falsificação de e-mails.
Convém personalizar o filtro de conteúdo SpamAssassin para detectar melhor o spam.
Se o site e o servidor de email estiverem em execução em dois VPS (servidor privado virtual) diferente, você poderá configurar a retransmissão SMTP entre o site e o servidor de email, para que o site possa enviar emails pelo servidor de email.
Conclusão
É isso aí!
Espero que este tutorial tenha ajudado a configurar um servidor de email no Ubuntu 18.04 com o iRedMail.