Postfix 5.7.1 Relay access denied

1

Eu sei que há muitas perguntas semelhantes aqui, mas nenhuma me ajudou.
Então eu tenho um servidor Debian 7.0 com postfix e dovecot trabalhando nele com um certificado autoassinado. Eu posso enviar e-mails para outros servidores usando telnet quando estou conectado a um servidor via SSH, mas não consigo enviar e-mails via cliente Thunderbird com a seguinte mensagem de erro:

An error occurred while sending mail. The mail server responded:
5.7.1 : Relay access denied. Please check the message recipient [email protected] and try again.

Primeiro, meu ISP bloqueia a porta 25, então estou usando a porta 465 assim:

Aquiestáumapartedomeumaster.cfqueeuediteinaconfiguração:

#==========================================================================#servicetypeprivateunprivchrootwakeupmaxproccommand+args#(yes)(yes)(yes)(never)(100)#==========================================================================smtpinetn----smtpd#smtpinetn---1postscreen#smtpdpass-----smtpd#dnsblogunix----0dnsblog#tlsproxyunix----0tlsproxysubmissioninetn----smtpd-osyslog_name=postfix/submission-osmtpd_tls_security_level=encrypt-osmtpd_sasl_auth_enable=yes-osmtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject-omilter_macro_daemon_name=ORIGINATING-osmtpd_sasl_type=dovecot-osmtpd_sasl_path=private/authsmtpsinetn----smtpd

Aquiestámeumain.cf:

myhostname=mail.server.commyorigin=/etc/mailnamemydestination=mail.server.com,server.com,localhost,localhost.localdomainrelayhost=mynetworks=127.0.0.0/8[::ffff:127.0.0.0]/104[::1]/128mailbox_size_limit=0recipient_delimiter=+inet_interfaces=allalias_maps=hash:/etc/aliasesalias_database=hash:/etc/aliasessmtpd_tls_cert_file=/etc/ssl/certs/mailcert.pemsmtpd_tls_key_file=/etc/ssl/private/mail.keysmtpd_use_tls=yessmtpd_tls_session_cache_database=btree:${data_directory}/smtpd_scachesmtp_tls_session_cache_database=btree:${data_directory}/smtp_scachesmtpd_tls_protocols=!SSLv2,!SSLv3smtpd_tls_security_level=maysmtp_tls_security_level=maysmtp_tls_loglevel=1smtpd_tls_loglevel=1local_recipient_maps=proxy:unix:passwd.byname$alias_mapsinet_protocols=all

Aquiestáomeudovecot.conf:

disable_plaintext_auth=nomail_privileged_group=mailmail_location=mbox:~/mail:INBOX=/var/mail/%uuserdb{driver=passwd}passdb{args=%sdriver=pam}protocols=" imap"

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}

ssl=required
ssl_cert =< /etc/ssl/certs/mailcert.pem
ssl_key =< /etc/ssl/private/mail.key

E finalmente o conteúdo do meu mail.log quando o erro está acontecendo:

Nov 14 13:17:24 Test postfix/smtpd[10720]: connect from 49-3-134-95.pool.ukrtel.net[95.134.3.49]
Nov 14 13:17:25 Test postfix/smtpd[10720]: Anonymous TLS connection established from 49-3-134-95.pool.ukrtel.net[95.134.3.49]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Nov 14 13:17:25 Test postfix/smtpd[10720]: NOQUEUE: reject: RCPT from 49-3-134-95.pool.ukrtel.net[95.134.3.49]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[192.168.0.101]>
Nov 14 13:17:30 Test postfix/smtpd[10720]: disconnect from 49-3-134-95.pool.ukrtel.net[95.134.3.49]

O que devo fazer para corrigir esse problema?

================ UPDATE ====================

Depois de ler link e link aqui estão as alterações que fiz:

Novo master.cf:

submission inet n       -       -       -       -       smtpd
      -o syslog_name=postfix/submission
      -o smtpd_tls_security_level=encrypt
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
      -o milter_macro_daemon_name=ORIGINATING
      -o smtpd_sasl_type=dovecot
      -o smtpd_sasl_path=private/auth
      -o smtpd_sasl_local_domain=$myhostname

    smtps     inet  n       -       -       -       -       smtpd

Adicionado ao main.cf:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

Adicionado ao dovecot.conf:

auth_mechanisms = plain login

Ainda sem sorte, estou recebendo exatamente o mesmo erro quando tento enviar uma carta.

    
por Anton 14.11.2014 / 14:36

2 respostas

5

O problema é que você não está autenticando via SASL.

Você tem isso definido no envio:

-o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

O primeiro permite mynetworks (que parece ser apenas localhost), o segundo permite apenas usuários autenticados. Seu log mostra que você está estabelecendo uma conexão TLS anônima, mas nenhuma autenticação SASL.

Eu não vejo nenhuma configuração SASL em seu main.cf, você pode querer dar uma olhada em este .

    
por 14.11.2014 / 14:46
2

Como NickW disse, sua configuração só permite enviar e-mails anonimamente do host em mynetworks e autenticados de outros locais.

Então você tem duas soluções:

  • habilitando a autenticação SASL
  • adicionando o parâmetro IP público ao Postfix mynetworks para permitir o envio de mensagens sem ser autenticado (não recomendo essa solução se você enviar e-mails de vários locais)
por 14.11.2014 / 15:35