Como corrigir o Postfix '' Relay Access Denied '?

49

Esta manhã, para corrigir um problema de incompatibilidade de nomes no certificado de segurança, segui as etapas recomendadas de Como consertar o SSL do servidor de correio? , mas agora, ao tentar enviar um email de um cliente (neste caso o cliente é o Windows Mail), eu receber o seguinte erro.

The rejected e-mail address was '[email protected]'. Subject 'This is a test. ', Account: 'mail.domain.com', Server: 'mail.domain.com', Protocol: SMTP, Server Response: '554 5.7.1 : Relay access denied', Port: 25, Secure(SSL): No, Server Error: 554, Error Number: 0x800CCC79

Editar : ainda posso recuperar e-mails dessa conta e enviar e-mails para outras contas no mesmo domínio. Não consigo enviar e-mails para destinatários fora do nosso domínio.

Eu tentei desabilitar o TLS completamente, mas sem dados, eu ainda recebo o mesmo erro.

Quando eu verifico o arquivo mail.log , vejo o seguinte.

Jul 18 08:24:41 company imapd: LOGIN, [email protected], ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79

O arquivo main.cf se parece com isto:

#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#

#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

#
# Some common configuration parameters;
#

inet_interfaces = all
mynetworks = 127.0.0.0/8
mynetworks_style = host

myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain

smtpd_banner = $myhostname ESMTP 2.4.7.1 (Debian/GNU)
setgid_group = postdrop

#
# Receiving messages parameters;
#

mydestination = localhost, company 
append_dot_mydomain = no
append_at_myorigin = yes
transport_maps = mysql:/etc/postfix/transport.cf

#
# Delivering local messages parameters;
#

mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"

biff = no

alias_database = hash:/etc/aliases

local_recipient_maps =

#
# Delivering virtual messages parameters;
#
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps=mysql:/etc/postfix/uids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf
virtual_mailbox_base=/usr/local/virtual
virtual_maps=mysql:/etc/postfix/virtual.cf
virtual_mailbox_domains=mysql:/etc/postfix/virtual_domains.cf


#
# SASL paramters;
#
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s

smtp_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtp_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtp_tls_key_file = /etc/postfix/ssl/smptd.key

smtpd_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smptd.key

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_local_domain =

broken_sasl_auth_clients = yes

smtpd_sender_restrictions =
        permit_sasl_authenticated
        permit_mynetworks

smtpd_recipient_restrictions =
        permit_sasl_authenticated
        check_recipient_access hash:/etc/postfix/filtered_domains
        permit_mynetworks
        reject_unauth_destination

Como observação, meu empregador quer poder enviar e-mails de clientes (Thunderbird e Outlook) tanto de dentro da nossa rede local quanto fora dela.

    
por Noah Goodrich 18.07.2009 / 16:59

6 respostas

55

O TLS apenas ativa a criptografia na sessão SMTP e não afeta diretamente se o Postfix poderá ou não retransmitir uma mensagem.

A mensagem de retransmissão negada ocorre porque as regras smtpd_recipient_restrictions não foram correspondidas. Uma dessas condições deve ser preenchida para permitir que a mensagem seja transmitida:

smtpd_recipient_restrictions =
    permit_sasl_authenticated
    check_recipient_access hash:/etc/postfix/filtered_domains
    permit_mynetworks
    reject_unauth_destination

Para explicar essas regras:

permit_sasl_authenticated

permite remetentes autenticados através do SASL. Isso será necessário para autenticar usuários fora de sua rede, que normalmente são bloqueados.

check_recipient_access

Isso fará com que o postfix procure em / etc / postfix / filtered_domains por regras baseadas no endereço do destinatário. (A julgar pelo nome do arquivo no nome do arquivo, é provavelmente apenas o bloqueio de domínios específicos ... Verifique se o gmail.com está listado lá?)

permit_mynetworks

Isso permitirá que os hosts por endereço IP correspondam aos intervalos de IP especificados em $ mynetworks. No main.cf que você postou, $ mynetworks foi definido como 127.0.0.1, então ele só retransmitirá emails gerados pelo próprio servidor.

Com base nessa configuração, seu cliente de e-mail precisará usar a Autenticação SMTP antes de receber permissão para retransmitir mensagens. Não tenho certeza de qual banco de dados o SASL está usando. Isso é especificado em /usr/lib/sasl2/smtpd.conf. Presumivelmente, ele também usa o mesmo banco de dados de suas caixas de correio virtuais, portanto, você deve poder ativar a autenticação SMTP em seu cliente de e-mail e estar tudo pronto.

    
por 22.07.2009 / 22:59
12
smtpd_use_tls = no

Você desabilitou o TLS e agora precisa autorizar sua rede local adicionando-o a mynetworks . Por exemplo,

mynetworks = 192.168.1.0/24 127.0.0.0/8

Isso consertará o envio apenas da sua rede local. Para enviar e-mails de fora da sua rede local, você precisará ativar a autenticação TLS.

    
por 18.07.2009 / 17:47
6

Acho que você está com saudades de domain.com no mydestination, porque o padrão relay_domains=$mydestination , para que você possa anexá-lo à configuração da linha:

mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain

ou:

relay_domains = $mydomain

Não esqueça de reiniciar o servidor postfix ( service postfix restart ) toda vez que editar o arquivo conf postfix.

    
por 20.11.2009 / 17:54
2

Eu tive o mesmo problema no Outlook (com backend dovecote e postfix) e passei dois dias procurando por solução e aprimorando meus arquivos de configuração. Tudo o que eu precisava fazer era marcar "O servidor requer autenticação" na guia Saída nas configurações de email no Outlook e minhas mensagens agora são enviadas para o Gmail. Veja instruções detalhadas sobre como encontrar a configuração aqui link .

    
por 11.05.2013 / 00:29
2

Esse problema estava me incomodando por um tempo. Eu estava tentando se conectar de server1.domain.com para server2.domain.com.

Veja como eu consertei isso -

#/etc/postfix/main.cf
mydomain = server1.domain.com
myhostname = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual
alias_database = hash:/etc/postfix/virtual
myorigin = /etc/mailname
mydestination = localhost.localdomain localhost $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Você também precisa certificar-se de ter configurado / etc / hosts e / etc / hostname corretamente e certificar-se de executar o seguinte após as alterações na rede -

sudo service networking restart

e o seguinte após alterações na configuração do postfix

sudo service postfix reload
    
por 16.04.2014 / 03:40
0

Para mim: tive que adicionar localhost a mynetworks , independentemente do fato de 127.0.0.0/8 já estar lá. Então, agora parece:

mynetworks = 1.1.1.1/32, 127.0.0.0/8, localhost

    
por 18.04.2017 / 17:51