Eu reinstalei um Debian 8 novo e limpo no meu VPS.
Tudo está configurado com valores padrão.
dpkg -s exim4
e dpkg -s postfix
diz que eximnão éinstalado, e esse postfixéinstalado. Isto é confirmado por lsof -i :25
que mostra um PID 478 e depois ps p 478
mostra 478 ? Ss 0:00 /usr/lib/postfix/master
. Não fiz apt-get install postfix
, parece que foi instalado por padrão.
Já fiz um registro MX de DNS example.com
pelo meu registrador, direcionando-o para o meu servidor.
Acabei de enviar um e-mail do meu Gmail para [email protected]
.
Eu ainda vejo
No mail
quando faço$ mail
.Como ver se algo chegou ao postfix?
Existe uma configuração a ser feita em uma nova instalação do Debian para aceitar e-mails da Internet?
Devo criar a caixa de correio
root
localmente para aceitar mensagens que chegam de remetentes externos[email protected]
?
Aqui está o resultado de iptables
(configuração padrão não modificada):
root@blah:~# iptables -nvL
Chain INPUT (policy ACCEPT 77135 packets, 50M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 2 packets, 120 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 66416 packets, 11M bytes)
pkts bytes target prot opt in out source destination
Eu vejo agora nisso cat /var/log/mail.log
:
Nov 22 11:57:32 blah postfix/smtpd[10485]: connect from mail-ua0-f171.google.com[209.85.xxx.xxx]
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-ua0-f171.google.com>
Nov 22 11:57:32 blah postfix/smtpd[10485]: disconnect from mail-ua0-f171.google.com[209.85.xxx.xxx]
Responder1
Esta linha contém as informações úteis que você precisa
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected] ...
O que isso está lhe dizendo é que sua máquina está se recusando a retransmitir uma mensagem do Google para[e-mail protegido]. Agora, você sabe que sua máquina é example.com, mas claramente ela não.
Solução: modifique a configuração local para incluir example.com como nome para sua máquina local. Há um documento de fácil leitura disponível no site do Postfix (((BASIC_CONFIGURATION_README.html)[http://www.postfix.org/BASIC_CONFIGURATION_README.html#mydestination]) que explica como configurar isso:
Meu próprio nome de domínio
O parâmetro mydomain especifica o domínio pai de $myhostname. Por padrão, ele é derivado de $myhostname retirando a primeira parte (a menos que o resultado seja um domínio de nível superior).
Por outro lado, se você especificar mydomain em main.cf, o Postfix usará seu valor para gerar um valor padrão totalmente qualificado para o parâmetro myhostname.
Exemplos (especifique apenas um dos seguintes):
/etc/postfix/main.cf: mydomain = local.domain mydomain = virtual.domain (virtual interface)
Para quais domínios receber e-mails
O parâmetro mydestination especifica quais domínios esta máquina entregará localmente, em vez de encaminhar para outra máquina. O padrão é receber mensagens para a própria máquina. Consulte o arquivo VIRTUAL_README para saber como configurar o Postfix para domínios hospedados.
Você pode especificar zero ou mais nomes de domínio, padrões "/file/name" e/ou tabelas de pesquisa "type:table" (como hash:, btree:, nis:, ldap: ou mysql:), separados por espaços em branco e /ou vírgulas. Um padrão "/file/name" é substituído por seu conteúdo; "type:table" solicita que uma pesquisa na tabela seja feita e apenas testa a existência: o resultado da pesquisa é ignorado.
IMPORTANTE: Se a sua máquina for um servidor de e-mail para todo o domínio, você também deverá listar $mydomain.
Exemplo 1: configuração padrão.
/etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain localhost
Exemplo 2: servidor de correio de todo o domínio.
/etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain localhost $mydomain
Exemplo 3: host com vários registros DNS A.
/etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain localhost www.$mydomain ftp.$mydomain
Cuidado: para evitar loops de entrega de mensagens, você deve listar todos os nomes de host da máquina, incluindo $myhostname e localhost.$mydomain.
Então, isso deve ser suficiente:
mydomain = example.com
...
mydestination = $myhostname localhost.$mydomain localhost $mydomain
Responder2
Além da resposta de roaima, resolveu:
Adicione o nome de domínio no final de
mydestination = <....>, mydomain.com
em/etc/postfix/main.cf
Comente esta linha:
#mailbox_command = procmail -a "$EXTENSION"
Em seguida, envie um e-mail do Gmail para
[email protected]
, aguarde alguns segundosFaça
mail
, você verá o novo e-mail :)