Below is a diff to clear up the description of the Userinfo table in table(5). I also added an example of how it can be used with an Alias table.
Thanks, Matt Index: table.5 =================================================================== RCS file: /cvs/src/usr.sbin/smtpd/table.5,v retrieving revision 1.9 diff -u -p -u -r1.9 table.5 --- table.5 24 May 2018 20:40:21 -0000 1.9 +++ table.5 4 Sep 2018 12:52:47 -0000 @@ -174,16 +174,12 @@ ipv6:::1 192.168.1.0/24 .Ed .Ss Userinfo tables -User info tables are used to described virtual system users. -They are used in rule context to specify an alternate user base, mapping -virtual users to local system UID, GID and home directory. +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. .Pp .D1 Ic action Ar name method Cm userbase Pf < Ar table Ns > .Pp -The userinfo table is a mapping from virtual user names to a set of system user -ID, group ID and path to home directory. -.Pp -A userinfo table looks as follows: +An userinfo table looks as follows: .Bd -literal -offset indent joe 1000:100:/home/virtual/joe jack 1000:100:/home/virtual/jack @@ -193,7 +189,15 @@ In this example, both joe and jack are v system user with UID 1000 and GID 100, but different home directories. These directories may contain a .Xr forward 5 -file. +file. This can be used in conjunction with an +.Cm Alias table +that maps an email address or the domain part to the desired virtual +username. For example: +.Bd -literal -offset indent [email protected] joe [email protected] jack +.Ed +.Pp .Ss Source tables Source tables are lists of IPv4 and IPv6 addresses. They can only be used in the following context:
