MAKEMAP(8) | System Manager's Manual | MAKEMAP(8) |
makemap
—
makemap |
[-U ] [-d
dbtype] [-o
dbfile] [-t
type] file |
makemap
itself creates the database maps used by keyed map lookups specified in
smtpd.conf(5).
makemap
reads input from
file and writes data to a file whose name is made by
adding a “.db” suffix to file. The
current line can be extended over multiple lines using a backslash
(‘\’). Comments can be put anywhere in the file using a hash
mark (‘#’), and extend to the end of the current line. Care
should be taken when commenting out multi-line text: the comment is
effective until the end of the entire block. In all cases,
makemap
reads lines consisting of words separated by
whitespace. The first word of a line is the database key; the remainder
represents the mapped value. The database key and value may optionally be
separated by the colon character.
The options are as follows:
-d
dbtype-o
dbfile-t
typealiases
set
-U
In addition to adding an entry to the primary domain map, one must add a filter rule that accepts mail for the domain map, for example:
table domains db:/etc/mail/domains.db action "local" mbox match for domain <domains> action "local"
Virtual domains expect a mapping of virtual users to real users in order to determine if a recipient is accepted or not. The mapping format is an extension to aliases(5), which allows the use of “user@domain.tld” to accept user only on the specified domain, “user” to accept the user for any of the virtual domains, “@domain.tld” to provide a catch-all for the specified domain and “@” to provide a global catch-all for all domains. smtpd(8) will perform the lookups in that specific order.
To create single virtual address, add “user@example.com user” to the users map. To handle all mail destined to any user at example.com, add “@example.com user” to the virtual map.
In addition to adding an entry to the virtual map, one must add a filter rule that accepts mail for virtual domains, for example:
table vdomains db:/etc/mail/vdomains.db table vusers db:/etc/mail/users.db action "local" mbox virtual <vusers> match for domain <vdomains> action "local" match for domain "example.org" action "local"
makemap
utility exits 0 on success,
and >0 if an error occurs.
makemap
command first appeared in
OpenBSD 4.6 as a replacement for the equivalent
command shipped with sendmail.November 25, 2018 | OpenBSD-current |