NAME
table — format description for smtpd tablesDESCRIPTION
This manual page documents the file format for the various tables used in the smtpd(8) mail daemon. The format described here applies to tables as defined in smtpd.conf(5).TABLE TYPES
There are two types of tables: lists and mappings. A list consists of a series of values, while a mapping consists of a series of keys and their associated values. The following illustrates how to declare them as static tables:table mylist { value1, value2, value3 } table mymapping { key1 = value1, key2 = value2, key3 = value3 }
file
’ table, a list will be
written with each value on a line by itself. Comments can be put anywhere in
the file using a hash mark (‘#’), and extend to the end of the
current line.
value1 value2 value3
key1 value1 key2 value2 key3 value3
file
’ or Berkeley DB
backend will be referenced as follows:
table name file:/path/to/file table name db:/path/to/file.db
Aliasing tables
Aliasing tables are mappings that associate a recipient to one or many destinations. They can be used in two contexts: primary domain aliases and virtual domain mapping.action name method alias <table> action name method virtual <table>
user1 otheruser user2 otheruser1,otheruser2 user3 [email protected]
user1 otheruser [email protected] otheruser1,otheruser2 @example.org [email protected] @ [email protected]
listen on interface auth [...] senders <table>
Domain tables
Domain tables are simple lists of domains or hosts.
match for domain <table> action name
match helo <table> [...] action name
static
’,
‘file
’ and
dbopen(3) backends, a wildcard may be used so the
domain table may contain:
example.org *.example.org
Credentials tables
Credentials tables are mappings of credentials. They can be used in two contexts:
listen on interface tls [...] auth <table>
action name relay host relay-url auth <table>
user1 $2b$10$hIJ4QfMcp.90nJwKqGbKM.MybArjHOTpEtoTV.DgLYAiThuoYmTSe user2 $2b$10$bwSmUOBGcZGamIfRuXGTvuTo3VLbPG9k5yeKNMBtULBhksV5KdGsK
label1 user:password
Netaddr tables
Netaddr tables are lists of IPv4 and IPv6 network addresses. They can only be used in the following context:
match from
src <table>
action
name
When used as a "from source", the address of a client is compared to
the list of addresses in the table until a match is found.
A netaddr table can contain exact addresses or netmasks, and looks as follow:
192.168.1.1 ::1 ipv6:::1 192.168.1.0/24
Userinfo tables
User info tables are used in rule context to specify an alternate user base, mapping virtual users to local system users by UID, GID and home directory.
action
name method
userbase
<table>
A userinfo table looks as follows:
joe 1000:100:/home/virtual/joe jack 1000:100:/home/virtual/jack
[email protected] joe [email protected] jack
Source tables
Source tables are lists of IPv4 and IPv6 addresses. They can only be used in the following context:
action
name relay src
<table>
Successive queries to the source table will return the elements one by one.
A source table looks as follow:
192.168.1.2 192.168.1.3 ::1 ::2 ipv6:::3 ipv6:::4
Mailaddr tables
Mailaddr tables are lists of email addresses. They can be used in the following contexts:match mail-from <table> action name match rcpt-to <table> action name
user @domain user@domain user@*.domain
Addrname tables
Addrname tables are used to map IP addresses to hostnames. They can be used in both listen context and relay context:listen on interface hostnames <table> action name relay helo-src <table>
::1 localhost 127.0.0.1 localhost 88.190.23.165 www.opensmtpd.org
SEE ALSO
smtpd.conf(5), makemap(8), smtpd(8)August 11, 2019 | Debian |