Sziasztok!
Szeretnék segítséget kérni, mert kicsit elakadtam. Adott egy új levelező szerver postfix-al virtual domainekkel. Ez egy migrált szerver, az eredeti szerveren minden működött. Itt is csak az aliasokkal van gond. Ha alias címre küdök levelet pl abuse@valami.hu akkor user unknown hibaüzenet kapok vissza. Ha lefuttatom a szerveren a
postmap -q abuse@valami.hu mysql:/etc/postfix/mysql_virtual_alias_maps.cf akkor szépen visszadja az eredményt.
Tehát megvan user.
A main.cf idevonatkozó része:
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
A logban olyat látok, hogy amikor az amavis visszadja a levelet a postfixnak, akkor mondja azt a postfix, hogy user unknown:
Dec 8 14:19:19 ujvalami postfix/pipe[15295]: 7BE7A1240096: to=, relay=dovecot, delay=0.18, delays=0.06/0/0/0.12, dsn=5.1.1, status=bounced (user unknown)
Ha van valakinek ötlete kérem segítsen.
Köszönöm!
- 2401 megtekintés
Hozzászólások
Postfix user tudja olvasni ezt az alias_maps file-t?
Az a proxy: biztosan kell oda, és jól van kofigolva?
Nincs véletlenül egy kósza receive_override_options = ...no_address_mappings... valahol ahol nem kellene?
Dovecot logban mit látsz?
- A hozzászóláshoz be kell jelentkezni
Postfix user tudja olvasni ezt az alias_maps file-t?
Igen tudja most ellenőriztam
Az a proxy: biztosan kell oda, és jól van kofigolva?
Nem kiszedtem, de nem változtatott
Nincs véletlenül egy kósza receive_override_options = ...no_address_mappings... valahol ahol nem kellene?
Nincs ellenőriztem
Dovecot logban mit látsz?
Dec 08 14:45:23 auth: Debug: master in: USER 1 abuse@valami.hu service=lda
Dec 08 14:45:23 auth-worker(14367): Debug: sql(abuse@valami.hu): SELECT CONCAT('/var/vmail/',maildir) AS home, 6060 AS uid, 6060 AS gid FROM mailbox WHERE username = 'abuse@valami.hu' AND active = '1'
Dec 08 14:45:23 auth-worker(14367): Info: sql(abuse@valami.hu): unknown user
Szerintem itt bukik el a dovecotnál. Ez nem az alias táblában hanem a mailbox táblában keresi. Ott meg persze nem találja meg.
- A hozzászóláshoz be kell jelentkezni
Azért keresi a mailbox táblában, mert a postfix nem "oldja fel" az aliast. Ez ugyanis nem az LDA dolga, hozzá már a valós user-nek kellene eljutni, nem pedig az alias-nak.
Amelyik smtpd instance-szel az amavis-tól visszakapod a levelet, ott mi szerepel receive_override_options-ként a master.cf-ben? Mert szerintem ott kellene feloldanod.
Illetve ha a master.cf-ben a releváns sorok végén az "smtpd"-t "smtpd -v"-re cseréled, akkor bőbeszédűbb lesz a logolás.
Azaz pl.
smtp inet n - - - - smtpd
...
127.0.0.1:abcde inet n - n - - smtpd
helyett
smtp inet n - - - - smtpd -v
...
127.0.0.1:abcde inet n - n - - smtpd -v
- A hozzászóláshoz be kell jelentkezni
Teljesen igazad volt. Ez volt a master.cf-ben:
smtp inet n - - - - smtpd
-o smtpd_sasl_auth_enable=yes
-o content_filter=smtp-amavis:[127.0.0.1]:10024
-o receive_override_options=no_address_mappings
Ha a végén a receive_override_options-t kikommentelem, már megy is. Nagyon köszönöm a segítséget! Sokat segítettél rajtam. Próbáltam guglizni, de nem sok eredménnyel. Még egyszer köszi!
- A hozzászóláshoz be kell jelentkezni
Allj! Kell ott lennie egy masik smtpd-nek is, amelyik azon a porton figyel, ahol az amavis visszaadja a levelet. Ott kellene megtortennie a cimzettek feloldasanak.
- A hozzászóláshoz be kell jelentkezni
Igen, ott kellene.
- A hozzászóláshoz be kell jelentkezni
Ha jól gondolom a 10025-ös porton adja vissza az amavis a postfixnek a levelet. A master.cf-ben ez van. Ha az utolsó sorból kiszedem a no_address_mappings részt akkor sem megy.
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o cleanup_service_name=amavis-cleanup
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_address_mappings,no_header_body_checks,no_unknown_recipient_checks,no_milters
- A hozzászóláshoz be kell jelentkezni
Pedig kéne neki.
http://www.postfix.org/postconf.5.html#no_address_mappings
Nekem az itt leírtaknak megfelelően van beállítva, azaz a main.cf-ben van "receive_override_options = no_address_mappings" paraméterem, vagyis ez a default.
A master.cf-ben az "smtp inet n - - - - smtpd" instance-nél nincs semmilyen receive_override_options, szóval a default él
A content filter-től visszaérkező smtpd-nél pedig ez van:
-o receive_override_options=no_unknown_recipient_checks,no_milters
, azaz itt nem aktív a no_address_mappings
- A hozzászóláshoz be kell jelentkezni
Az eredeti szerveren, amiről migráltam nekem is pontosan olyan beállításokkal működik mint Neked (postfix 2.7.1-1). Az újon ha nem kapcsolom ki a no_address_mappings-et az smtp-nél, nem látja az aliasokat (postfix 2.11.3-1). Közben találtam egy teljesen hozzám hasonló estet:
http://stackoverflow.com/questions/26574540/aliases-not-working
- A hozzászóláshoz be kell jelentkezni
Én 2.11.0 verziót hajtók, hátha ez segít valakinek valamit.
A linkelt esetben pedig nála a main.cf-ben be van kapcsolva a no_address_mappings (mint nálam is), viszont a master.cf tartalmáról nem ír.
Márpedig én a master.cf-ben írom felül a receive_override_options értékét, de csak az amavis felől érkező leveleket elkapó smptd-nél. Addig nem kell.
Nem tudom, hogy Nálad ez miért nem működik. Milyen disztrót használsz? Ha lesz ráérő időm (hehe) lehet ránéznék erre.
- A hozzászóláshoz be kell jelentkezni
Szerintem a linkelt esetben egy nem epp tamogatott modon mukodo (postfix queue-ba direktben bepakolo) content filter volt. Nalad viszont ketszer megy at a level az smtpd-n (kulvilag->smtpd->amavis, majd amavis->smtpd->pipe/dovecot), a masodik korben erdemes az aliasokkal foglalkozni. Jo lenne latni mar a tenyleges konfigot, pl. postconf -n, postconf -M
- A hozzászóláshoz be kell jelentkezni
A kért konfigok
postconf -n:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
dovecot_destination_concurrency_limit = 2
dovecot_destination_recipient_limit = 1
inet_interfaces = all
local_transport = error:no local mail delivery
mailbox_size_limit = 0
message_size_limit = 41960000
mydestination = localhost
mydomain = valami.hu
myhostname = ujszerver.valami.hu
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = valami.hu
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_hard_error_limit = 10
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unlisted_recipient, check_recipient_access hash:/etc/postfix/reject_over_quota, check_sender_access hash:/etc/postfix/rbl_sender_exceptions, check_client_access hash:/etc/postfix/rbl_client_exceptions, check_recipient_access hash:/etc/postfix/rbl_recipient_exceptions, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client dsn.rfc-ignorant.org, reject_rbl_client dul.dnsbl.sorbs.net, reject_rbl_client bl.spamcop.net, reject_rbl_client cbl.abuseat.org, reject_rbl_client combined.rbl.msrbl.net, reject_rbl_client dnsbl.opsgears.com
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, reject_non_fqdn_sender, reject_unknown_sender_domain
smtpd_soft_error_limit = 8
smtpd_tls_CAfile = /etc/ssl/certs/cacert.ujmx4.collect.hu.pem
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:6060
virtual_mailbox_base = /var/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 6060
virtual_transport = dovecot
virtual_uid_maps = static:6060
postconf -M:
1025 inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes -o content_filter=smtp-amavis:[127.0.0.1]:10024
smtp inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes -o content_filter=smtp-amavis:[127.0.0.1]:10024
submission inet n - - - - smtpd -o smtpd_tls_security_level=may -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o content_filter=smtp-amavis:[127.0.0.1]:10026 -o receive_override_options=no_address_mappings
smtps inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
4650 inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
pickup unix n - - 60 1 pickup -o content_filter=
cleanup unix n - - - 0 cleanup
amavis-cleanup unix n - - - 0 cleanup -o virtual_alias_maps=hash:/etc/postfix/amavis_virtual
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient} -e
vacation unix - n n - - pipe flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
smtp-amavis unix - - n - 5 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o cleanup_service_name=amavis-cleanup -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_address_mappings,no_header_body_checks,no_unknown_recipient_checks,no_milters
127.0.0.1:10035 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
- A hozzászóláshoz be kell jelentkezni
Ugy latom van nehany utvonal, ahol a levelek beeshetnek, nezzuk az altalanos utvonalat:
Ez a megszokott 25-os porton uldogelo smtpd listener:
smtp inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes -o content_filter=smtp-amavis:[127.0.0.1]:10024
minden egyeb opcioja a main.cf-bol es az alapbeallitasokbol jon, szoval a content_filter az erdemi valtozas
ez pedig az, amin az amavisd visszadobja:
127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o cleanup_service_name=amavis-cleanup -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_address_mappings,no_header_body_checks,no_unknown_recipient_checks,no_milters
Ebben bizony ott van a no_address_mappings , en ezt kivennem, a main.cf-hez pedig hozzavennem.
- A hozzászóláshoz be kell jelentkezni
pastebin ilyen esetben elég hasznos, csak mondom.
Amúgy ez bőven nem egy szimpla konfig.
Content filter-től "visszatérő" smtpd instance 2 is van, egyik a 10025-ön figyel, a másik a 10035-ön, már ha jól értem. Az egyiknél benne van a no_address_mappings a receive_override_options-ben, a másiknál nincs.
Ahogy wildy is írta, vedd ki mindkettőből a no_addr_mappings-t, és tedd be a main.cf-be.
- A hozzászóláshoz be kell jelentkezni
Csak érdeklődésképpen: nem lenne jobb még a content filter előtt eldobni a levelet, ha nincs ilyen címzett? Vagy akkor valamit félreértek.
- A hozzászóláshoz be kell jelentkezni
Masrol van szo: a cimatirasok nem tortennek meg a filter elott. A cimzett(ek) ellenorzese joval korabban, mar az envelope feldolgozasakor megtortenik.
- A hozzászóláshoz be kell jelentkezni
De az rpct to-nál már tudnia kell, hogy van-e ilyen user, vagy alias, nem?
- A hozzászóláshoz be kell jelentkezni
Tudja is - bár ugye beállítás kérdése. A probléma az, hogy ott nem oldja fel az alias-t, ahol kellene. Nyilván nem célszerű a content filter előtt, mert ezzel ugyanazt a levelet akár sokszor is átfuttathatod szerencsétlenen.
Nálunk pl. az info@-ot kapja vagy 6 ember, és jön rá pár email. Azért nem mindegy, hogy ezeket 1x ellenőrzni vagy 6x (még ha az rbl és stb. nyilván sokat kiszór mire ide eljut).
Persze amilyen vas van alatta röhögve kiszolgálná, de azért akkor is.
- A hozzászóláshoz be kell jelentkezni
Igen pontosan ez a gond a content filter után nem oldja fel az alias-okat.
- A hozzászóláshoz be kell jelentkezni
Világos, köszönöm.
- A hozzászóláshoz be kell jelentkezni
Azt tudja, hogy a celcim letezik. Az, hogy az erre erkezo level kinek kerul kezbesitesre (alias, canonical, ... befolyasolja), az nem tartozik a feladora.
- A hozzászóláshoz be kell jelentkezni
Üdv! Mi is lett a megoldás? Mert úgy látom még azóta is megy az ötletelés.
- A hozzászóláshoz be kell jelentkezni
Igen megy még az ötletelés. Ha a
-o receive_override_options=no_address_mappings az smtp-nél ki van kommentelve akkor jól látja az aliasokat a postfix. Ha ugyanez a 10025-ös portnál van kikommentezve, ahova a content filter visszadja a postfixnek a levelet, akkor nem nézi meg a postfix az alias táblát csak azt mondja unknown user.
- A hozzászóláshoz be kell jelentkezni
De azt az esetet is próbáltad, amit javasoltak, vagyis: master.cf-ből ki -> main.cf-be be?
- A hozzászóláshoz be kell jelentkezni