I morges fulgte jeg de anbefalte trinnene fra How to fix mail server SSL? for å rette et problem med et navnesammenfall i sikkerhetssertifikatet, men nå, når jeg prøver å sende en e-post fra en klient (i dette tilfellet er klienten Windows Mail), får jeg følgende feil.
Den avviste e-postadressen var
'[email protected]'. Emne 'Dette er en test. ', Konto: 'mail.domain.com', Server: 'mail.domain.com', Protokoll: SMTP, Server Response: '554 5.7.1 [email protected]: Relay access denied', Port: 25, Secure(SSL): No, Server Error: 554, Error Number: 0x800CCC79
Jeg kan ikke redigere denne kontoen: Jeg kan fortsatt hente e-post fra denne kontoen, og jeg kan sende e-post til andre kontoer på samme domene. Jeg kan bare ikke sende e-post til mottakere utenfor domenet vårt.
Jeg prøvde å deaktivere TLS helt, men ingen terninger, jeg får fortsatt den samme feilen.
Når jeg sjekker filen mail.log
, ser jeg følgende.
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
Filen main.cf
ser slik ut:
#
# 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
Arbeidsgiveren min ønsker å kunne sende e-post fra klienter (Thunderbird og Outlook) både fra vårt lokale nettverk og utenfor det.
TLS aktiverer bare kryptering på smtp-økten og påvirker ikke direkte om Postfix får lov til å videresende en melding eller ikke.
Meldingen om avvist videresending oppstår fordi smtpd_recipient_restrictions-reglene ikke ble oppfylt. En av disse betingelsene må være oppfylt for at meldingen skal kunne videresendes:
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
For å forklare disse reglene:
permit_sasl_authenticated
tillater godkjente avsendere gjennom SASL. Dette vil være nødvendig for å autentisere brukere utenfor nettverket ditt som normalt er blokkert.
check_recipient_access
Dette vil føre til at postfix leter i /etc/postfix/filtered_domains etter regler basert på mottakeradressen. (Ut fra filnavnet å dømme, blokkerer den sannsynligvis bare bestemte domener... Sjekk for å se om gmail.com er oppført der...).
permit_mynetworks
Dette vil tillate verter etter IP-adresse som samsvarer med IP-områder spesifisert i $mynetworks. I main.cf du postet, ble $mynetworks satt til 127.0.0.1, slik at den bare vil videresende e-post generert av serveren selv.
Basert på den konfigurasjonen må e-postklienten din bruke SMTP-autentisering før du får lov til å videresende meldinger. Jeg er ikke sikker på hvilken database SASL bruker. Det er spesifisert i /usr/lib/sasl2/smtpd.conf Antagelig bruker den også den samme databasen som de virtuelle postkassene dine, så du bør kunne aktivere SMTP-autentisering i e-postklienten din og være klar.
smtpd_use_tls = no
Du har deaktivert TLS, så du må nå autorisere ditt lokale nettverk ved å legge det til i mynetworks
. For eksempel
mynetworks = 192.168.1.0/24 127.0.0.0/8
Dette vil bare fikse sending fra ditt lokale nettverk. For å sende e-post fra utenfor ditt lokale nettverk, må du få TLS-autentisering til å fungere.
Jeg tror du savner ditt domene.com i mydestination, fordi standard relay_domains=$mydestination
, slik at du kan legge til konfigurasjonslinjen:
mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain
eller:
relay_domains = $mydomain
Ikke glem å starte postfix-serveren på nytt (service postfix restart
) hver gang du redigerer postfix conf-filen.