Vraag Hoe Postfix '' Relay Access Denied 'te corrigeren?


Vanochtend heb ik de aanbevolen stappen gevolgd om een ​​probleem met een niet-overeenkomende naam in het beveiligingscertificaat te corrigeren Hoe mail server SSL te repareren?, maar nu, wanneer ik probeer een e-mail te verzenden vanaf een client (in dit geval is de client Windows Mail), ontvang ik de volgende foutmelding.

Het geweigerde e-mailadres was   'Email@gmail.com'. Onderwerp 'Dit is een   test. ', Account:' mail.domain.com ',   Server: 'mail.domain.com', protocol:   SMTP, serverrespons: '554 5.7.1   : Relay-toegang   denied ', Poort: 25, Secure (SSL): Nee,   Serverfout: 554, Foutnummer:   0x800CCC79

Bewerk: Ik kan nog steeds e-mails ophalen van dit account en ik stuur e-mails naar andere accounts op hetzelfde domein. Ik kan gewoon geen e-mails verzenden naar ontvangers buiten ons domein.

Ik heb geprobeerd om TLS helemaal uit te schakelen maar geen dobbelsteen, ik krijg nog steeds dezelfde fout.

Wanneer ik het bestand controleer mail.log, Ik zie het volgende.

Jul 18 08:24:41 company imapd: LOGIN, user=user_name@domain.com, ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, user=user_name@domain.com, 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@gmail.com>: Relay access denied; from=<user_name@domain.com> to=<email@gmail.com> 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, user=user_name@domain.com, ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79

het dossier main.cf het lijkt op dit:

#
# 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

Bovendien wil mijn werkgever e-mails van klanten (Thunderbird en Outlook) kunnen verzenden, zowel vanuit ons lokale netwerk als daarbuiten.


48
2017-07-18 14:59


oorsprong


Waarom accepteer je niet? - Rook


antwoorden:


TLS maakt alleen codering op de smtp-sessie mogelijk en heeft geen directe invloed op de vraag of Postfix een bericht mag doorsturen of niet.

Het doorsturen van geweigerde berichten vindt plaats omdat de smtpd_recipient_restrictions-regels niet zijn gematcht. Aan een van deze voorwaarden moet zijn voldaan om het bericht door te laten gaan:

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

Om die regels uit te leggen:

permit_sasl_authenticated

maakt geverifieerde afzenders door SASL. Dit is nodig om gebruikers buiten uw netwerk te authenticeren die normaal geblokkeerd zijn.

check_recipient_access

Dit zorgt ervoor dat postfix in / etc / postfix / filtered_domains naar regels kijkt op basis van het adres van de ontvanger. (Afgaande op de bestandsnaam op de bestandsnaam, blokkeert het waarschijnlijk alleen bepaalde domeinen ... Controleer om te zien of gmail.com daar wordt vermeld?)

permit_mynetworks

Hiermee kunnen hosts volgens IP-adres overeenkomen met IP-bereiken die zijn opgegeven in $ mynetworks. In de main.cf die je hebt gepost, was $ mynetworks ingesteld op 127.0.0.1, dus het zal alleen e-mails doorsturen die gegenereerd zijn door de server zelf.

Op basis van die configuratie moet uw e-mailclient SMTP-verificatie gebruiken voordat deze berichten mag doorsturen. Ik weet niet zeker welke database SASL gebruikt. Dat is gespecificeerd in /usr/lib/sasl2/smtpd.conf Waarschijnlijk maakt het ook gebruik van dezelfde database als uw virtuele mailboxen, dus u zou SMTP-authenticatie in uw e-mailclient moeten inschakelen en helemaal klaar zijn.


53
2017-07-22 20:59





smtpd_use_tls = no

U hebt TLS uitgeschakeld, dus u moet nu uw lokale netwerk autoriseren door het toe te voegen aan mynetworks. Bijvoorbeeld,

mynetworks = 192.168.1.0/24 127.0.0.0/8

Hiermee wordt het verzenden alleen vanaf uw lokale netwerk gefixt. Voor het verzenden van e-mail van buiten uw lokale netwerk, moet u TLS-verificatie werken.


12
2017-07-18 15:47



Ik heb smtpd_use_tls = yes ingesteld omdat we e-mail van buiten het netwerk moeten kunnen verzenden. Het probleem blijft echter bestaan. - Noah Goodrich
Bump smtpd_tls_loglevel tot 3 en kijk of er iets interessants te zien is in de logs (en vergeet niet om het terug te zetten naar 1 of 0 als je klaar bent). - pgs
Probeer ook smtp_use_tls op nee te zetten (voor het verzenden van externe e-mail). Zien postfix.org/postconf.5.html#smtp_use_tls - pgs
-1 omdat niet iedereen tls kan uitschakelen. - jgifford25
Ik zeg niet dat hij tls moet uitschakelen; Ik zeg dat omdat hij het al heeft uitgeschakeld, hij dan mynetworks moet instellen. En dat de volledige oplossing is om weer aan het werk te gaan. - pgs


Ik denk dat je je domein.com mist in mydestination, omdat de standaard relay_domains=$mydestination, zodat je de configuratie kunt toevoegen aan de regel:

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

of:

relay_domains = $mydomain

Vergeet niet om de postfix-server opnieuw te starten (service postfix restart) elke keer dat u het postfix-conf file bewerkt.


6
2017-11-20 16:54



+ 1 voor het toevoegen van "localhost, localhost.localdomain" aan de lijst met hosts (vaak een probleem op sommige systemen, niet duidelijk waarom het op anderen geen probleem is) - Iain Collins


Ik had hetzelfde probleem in Outlook (met duiventil en postfix-backend) en ik heb twee dagen gezocht naar een oplossing en het aanpassen van mijn configuratiebestanden. Het enige wat ik moest doen, was "Server vereist authenticatie" in het tabblad Uitgaand in mailinstellingen in outlook en mijn berichten worden nu naar gmail verzonden. Zie gedetailleerde instructies voor het vinden van de instelling hier http://support.bluetie.com/node/440.


2
2018-05-10 22:29





Dit probleem irriteerde me een tijdje. Ik probeerde om verbinding te maken tussen server1.domain.com en server2.domain.com.

Hier is hoe ik dit heb opgelost -

#/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

Je moet ook zorgen dat je / etc / hosts en / etc / hostname juist hebt ingesteld en zorg ervoor dat je het volgende uitvoert na netwerkwijzigingen -

sudo service networking restart

en het volgende na wijzigingen in de postfix-configuratie

sudo service postfix reload

2
2018-04-16 01:40





Voor mij: ik moest toevoegen localhost naar mynetworks ongeacht het feit 127.0.0.0/8 was er al. Dus nu ziet het er uit:

mynetworks = 1.1.1.1/32, 127.0.0.0/8, localhost


0
2018-04-18 15:51