Mlalias
Jump to navigation
Jump to search
mlalias in the overarching name for CSE's Postfix-based system for receiving and forwarding emails sent to addresses in the cse.unsw.edu.au domain.
mlalias
is also the name of the command-line utility used to configure user-managed email forwarding and mailing lists.
- CSE does not provide email storage and so any email received for a CSE-domain address must be forwarded to one or more external email boxes, otherwise the email will be discarded.
- If a user has not used to
mlalias
to configure email forwarding, the email system will make a best-effort attempt to forward emails received for them to their UNSW-maintained <<zID>@unsw.edu.au address.
- The email system allows email to be flexibly addressed to lists of users which are dynamically generated at time of receipt, such as all tutors, all tutors of a particular course, all students of a particular course in a particular teaching term, etc.
- The email system is primarily hosted on the server maillard, uses Postfix to receive and deliver emails, and accesss the New UDB and mlalias database tables hosted on the PostgreSQL server running on bandleader.
Database tables
The mlalias database tables are stored in the same database as those of the New UDB because of the loose coupling between zID and UNSW official email address. I.e., <zID>@unsw.edu.au.
Here are the tables:
xcse=# \dt mlalias* List of relations Schema | Name | Type | Owner --------+-----------------------+-------+---------- public | mlalias_address | table | postgres public | mlalias_control | table | postgres public | mlalias_owner | table | postgres public | mlalias_sender | table | postgres public | mlalias_user_external | table | ldapudb (5 rows)
And here's an example output from the mlalias
command for reference:
vx01:~$ mlalias dude Alias: dude Description: CSE Special Dude Flags: personal, private, unprivileged, unmoderated, closed Addresses: cse.dude@unsw.edu.au assistant.dude@unsw.edu.au another.person@cse.unsw.edu.au Owners: root Senders:
Very quickly:
- The alias is the part of the email address before the "@" sign. In other words, the example above is for the address "dude@cse.unsw.edu.au"
- The flags determine the operation of the alias. Too complicated to explain in detail here, but some of it is to do with mlaliases being used as mailing lists rather than just for simple email forwarding.
- The list of addresses is to whom emails to this email should be forwarded. In this example there are three recipients listed. It is also possible to have an empty list which means any email to the alias would silently disappear.
- Owners are the CSE accounts which can make changes to the mlalias, such as change flags, alter the list of addresses, etc.
- Senders is list of email addresses which are authorised, on top of the owners, to send to the alias. This is typically used for moderated lists. In such case, if an email arrives for the alias from a non-listed sender it will be forwarded to the list owners for their attention.
mlalias_control
This table contains the "header" of each mlalias, its name and the configuration flags.
xcse=# \d mlalias_control Table "public.mlalias_control" Column | Type | Modifiers -------------------------+------------------------------+----------- name | character varying(128) | not null description | character varying(128) | personal_system | personal_system_type | not null public_private | public_private_type | not null privileged_unprivileged | privileged_unprivileged_type | not null moderated | moderated_type | not null open_closed_optional | open_closed_optional_type | not null
For an explanation of the flags, run mlalias -h flags
.
mlalias_owner, mlalias_address, mlalias_sender
Each entry in these tables is an entry in the corresponding field for a single mlalias.
xcse=# \d mlalias_owner Table "public.mlalias_owner" Column | Type | Modifiers -----------+------------------------+----------- mlalias | character varying | not null owner | character varying(128) | not null moderator | boolean | not null xcse=# \d mlalias_address Table "public.mlalias_address" Column | Type | Modifiers ----------------+------------------------+----------- mlalias | character varying | not null address | character varying(128) | not null address_action | address_action_type | not null xcse=# \d mlalias_sender Table "public.mlalias_sender" Column | Type | Modifiers ---------+------------------------+----------- mlalias | character varying | not null sender | character varying(128) | not null