Para servidor de e-mail eu uso iredmail
. Eu tenho um servidor de e-mail com as próximas configurações:
# /etc/hostname
mail
# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost
então FQDN é mail.mydomain.com
.
AquiEncontrei exemplos que usei, mas com esses exemplos meu servidor conseguia enviar emails, mas não conseguia receber:
Type Name Value TTL
A @ 195.201.40.1 1 hour # Web server
A mail 195.201.40.2 1 hour # Mail server
MX @ mail.mydomain.com (Priority: 10) 1 hour
TXT @ v=spf1 ip4:195.201.40.2 -all 1 hour
TXT @ v=DMARC1; p=reject; sp=reject;... 1 hour
TXT _adsp._domainkey dkim=all
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...
Então eu mudei:
MX @ mail.mydomain.com (Priority: 10) 1 hour
para
MX mail mail.mydomain.com (Priority: 10) 1 hour
e o servidor de email começou a receber emails.
Tenho dois blocos de perguntas:
1) Pelo que entendi, serviços de e-mail externos (por exemplo, gmail) enviam e-mails para mydomain.com
, não para mail.mydomain.com
, porque meu endereço de e-mail se parece [email protected]
e não com [email protected]
. Por que mudar @
para mail
resolver o problema de recebimento de e-mails?
Entendo o registro MX @ mail.mydomain.com
como: "serviço de e-mail externo, se você enviar e-mail para[e-mail protegido](@ = mydomain.com) e envie um e-mail para o servidor com FQDN mail.mydomain.com", mas minha lógica parece não funcionar. Por quê?
Aquipodemos ver que o nome do host pode ter @
um FQDN diferente. Por que no meu caso não funciona?
2) Para registros TXT, qual nome devo fornecer? @
ou mail
, ou seja, nome de domínio ou nome de host? Se mail
, isso significa que se eu tiver 10 servidores de e-mail, para todos eles precisarei fazer seus próprios registros TXT?
Responder1
Traduzi seus registros DNS para o formato bind. A menos que você esteja alterando uma entrada, não será necessário especificar o TTL de uma entrada.
Converti os registros SPF para o formato mais simples. A A
regra para o mail
registro é para -helo
verificações SPF. A regra www
indica que nenhum email deve ser enviado do www
subdomínio.
Seguem entradas para seu domínio e subdomínios. (Observe o ponto no final do registro MX. Se estiver faltando, você deve apenas usar mail
).
@ IN A 195.201.40.1
IN MX mail.mydomain.com.
IN TXT "v=spf1 mx -all"
Serviços padrão de correio e www (alguns navegadores tentarão www mesmo que não seja fornecido na entrada).
mail IN A 195.201.40.2
IN TXT "v=spf1 a -all"
www IN A 195.201.40.1
IN TXT "v=spf1 -all"
Configuração para DMARC com relatórios. Até que os relatórios indiquem que você não tem problemas, eu não usaria uma reject
política. Você pode querer começar com none
sua política.
_dmarc IN TXT "v=DMARC1; p=reject; sp=reject;..."
*._report.dmarc IN TXT "v=DMARC1"
Configuração para DKIM. _adsp
não parece mais estar no caminho dos padrões. Substitua dkim
pelo nome da chave que você usa ao assinar.
_adsp._domainkey IN TXT dkim=all
dkim._domainkey IN TXT v=DKIM1; k=rsa; p=MIGfMA0GCSq...
Responder2
1) O e-mail será enviado para o nome do host especificado no registro MX da parte do nome do host do endereço de e-mail. Por exemplo, quando o correio é enviado para[e-mail protegido], ocorre o seguinte:
Um dos registros MX configurados é obtido para gmail.com:
# dig mx gmail.com +short | head -n 1
5 gmail-smtp-in.l.google.com.
O email é entregue no endereço IP do servidor de email correspondente:
# dig gmail-smtp-in.l.google.com +short
173.194.221.27
No seu caso, não está claro como o problema foi resolvido, pois a configuração inicial parece boa. Tente verificar qual servidor MX é responsável pelo seu nome de domínio e a qual endereço IP ele se refere usando DNS público:
# dig mx mydomain.com @8.8.8.8 +short
mail.mydomain.com
# dig mail.mydomain.com @8.8.8.8 +short
2) O nome de domínio (sem mail.
parte) deve ser fornecido para registro SPF. Quanto ao DKIM e DMARC, os prefixos também devem ser adicionados ao nome de domínio (sem mail.
parte), por exemplo:
TXT _dmarc v=DMARC1; p=reject; sp=reject;...
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...