Toon posts:

Postfix: all users

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil graag een "catch all" regel instellen voor postfix, zodat alle mail die aan niet bestaande gebruikers in een domein is gericht wordt doorgestuurd naar een specifiek account. Na even zoeken kom ik op http://www.postfix.org/rewrite.html tegen dat ik daarvoor de optie luser_relay moet gebruiken, maar helaas brengt dat niet het beloofde resultaat.

In mijn main.cf heb ik het volgende opgenomen:

code:
1
2
local_recipient_maps =
luser_relay = user@domeinnaam.nl


De regel met "local_recipients_maps = " heb ik ook weggelaten. Resultaat is telkens een reply van postfix met de melding "user unknown".

Wat gaat er mis?

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
die "local_recipient_map =" moet je zo laten staan, op die manier weet postfix dat ie niet hoeft te controleren of een user wel bestaat.

  • Oezie Woezie
  • Registratie: December 1999
  • Niet online

Oezie Woezie

Pim. is de beste

ik heb het zo opgelost:

in de file aliases:
catchall: erik

en in de file main.cf:
luser_relay = catchall+$user

een mooi Tshirt met Pim. is de beste enzo


Verwijderd

Topicstarter
Ik heb het geprobeerd, met

code:
1
catchall: user


in /etc/aliases en de volgende main.cf

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# see /usr/share/postfix/main.cf.dist for a commented, fuller
# version of this file.

# Do not change these directory settings - they are critical to Postfix
# operation.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name
setgid_group = postdrop
biff = no

# appending .domain is the MUA's job.
#masquerade_domains=my.domain.name
append_dot_mydomain = no
myhostname = my.host.name
local_recipient_maps =
luser_relay = catchall+$user
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = my.domain.name, sub.my.domain.name, localhost.my.domain.name, localhost
relayhost = 
mynetworks = 192.168.0.0/24, 127.0.0.0/8 
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
mailbox_transport = cyrus


Dit geeft hetzelfde resultaat. Mailen naar "catchall@mydomain" werkt wel: mail wordt inderdaad geforward naar de gedefinieerde user. Daaruit leid ik af dat /etc/aliases goed is geconfigureerd. Postfix stuurt echter niet alle mail voor onbekende gebruikers door naar het "catchall" adres.

Wat gaat er mis?

[ Voor 6% gewijzigd door Verwijderd op 04-03-2004 21:59 ]


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Heb je Postfix opnieuw gestart (postfix reload) na het veranderen van die config file?
Die fout heb ik zelf namelijk al meermaals gemaakt.

Verwijderd

Topicstarter
Jazeker, ipv "postfix reload" ook "postfix restart" geprobeerd. Zelfde resultaat.

Ondertussen nog wat research gedaan, ik lees verhalen over de combinatie postfix / cyrus die in dit geval niet helemaal lekker zou werken. Heeft iemand daar ervaring mee?

  • Marzman
  • Registratie: December 2001
  • Niet online

Marzman

They'll never get caught.

Welke versie van postfix heb je? Bij mij staat er gewoon dit (dropbox is een bestaande user)

luser_relay = dropbox
local_recipient_maps =

Dat local_recipient_maps hoeft er niet eens altijd in. Alleen bij 2.x versies geloof ik.

☻/ Please consider the environment before printing this signature
/▌
/ \ <-- This is bob. copy and paste him and he will soon take over the world.


Verwijderd

Topicstarter
Volgens mij 1.1.11-0 (Debian stable). Kan dat het probleem zijn (dat alleen recentere versies van postfix de luser_relay variabele ondersteunen)? In dat geval vind ik het wel vreemd dat ik daar geen melding over krijg in de logs...

Verwijderd

Topicstarter
Ik kwam zojuist dit stukje tekst tegen:

code:
1
2
3
luser_relay (default: empty)

Optional catch-all destination for unknown local(8) recipients. By default, mail for unknown recipients in domains that match $mydestination, $inet_interfaces or $proxy_interfaces is returned as undeliverable.


Hier wordt aangegeven dat het gaan om unknown "local" recipients. Ik volg niet helemaal wanneer postfix iets nu als local of remote behandelt. Zou dat er iets mee te maken kunnen hebben?

Wellicht ten overvloede: het gaat mij erom om mail die vanaf het internet wordt gestuurd naar willekeurige_naam@domain.name.nl allemaal in de mailbox van "user" terecht te laten komen. De idee hierachter is om per website waar ik mijn e-mail adres moet achterlaten het adres "website@domain.name.nl" te gebruiken, dan kan ik tenminste een beetje zien wie die adressen doorverkoopt en wie niet (en op basis daarvan makkelijk mijn spamfilter africhten).

  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Als het je vooral gaat om unieke adressen te gebruiken bij winkels, dan kun je ze ook in de vorm spamtrap+www.winkel.nl@domein.name.nl maken. Dat wordt allemaal bij de user spamtrap bezorgd. Op die extension (www.winkel.nl) kun je vervolgens heel eenvoudig met procmail filteren.

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 10-02 16:44
Ik begrijp dat dit topic oud is, maar toch wil ik even een reply kwijt omdat ik misschien weet waarom dit probleem zich voor doet (handig voor de search).

De catch-all/catchall van Postfix werkt niet onkan alleen gebruikt worden indien postfix ook gebruikt wordt als lokale mail delivery agent.
Op Mac OS X is dit niet het geval, en wordt hier Cyrus voor gebruikt

Er is wel een mogelijkheid, maar niet echt een mooie oplossing.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
As root, vi /etc/postfix/main.cf and include the following line (I put mine at the bottom of the file): 
virtual_alias_maps = hash:/etc/postfix/virtual

As root, vi /etc/postfix/virtual and add the following: 
########### 
# local users 
########### 
localUser1@domain.com       localUser1 
localUser2@domain.com      localUser2 
localUser3@domain.com      localUser3 
localUser4@domain.com      localUser4

########## 
# catch-all 
########## 
@domain.com               catch-all

I put this at the top above the comments. You must include all local users or the
 catch-all account will get all mail. localUser# is used in place of the actual user
 account name for local users. catch-all is used in place of the account you
 designate as the catch-all. domain.com is used in place of your domain name.
 There are tabs between the entries on each line. There is a caveat -- if you create
 an alias, that email will go to the catch-all account as well as to the aliased
 accounts.


As root, run postmap /etc/postfix/virtual


As root, run postfix reload


Voordeel: Catch-all werkt
Nadeel: User accounts/mail adressen aanmaken gaat niet alleen vanuit de GUI (mac Os X)
Pagina: 1