* DONE Email::Valid does not accept UTF-8 emails adresses (e.g., test@ƛ.net). LDAP doesn't allow UTF-8 in the DNs anyway, so maybe convert the domains/emails to Punycode internally? * TODO What to do when a user wants to add a domain? Is it worth it to send a confirmation e-mail? * TODO Better check for existing lists (commands). - When adding a new alias/mailbox 'test', check for existing alias/mailbox 'test', and list 'test'. - When adding a new alias/mailbox 'test-request', check for existing alias/mailbox 'test-request', list 'test-request' *and* list 'test'. (The same for other list commands.) - When adding a new list 'test', check for existing alias/mailbox/list 'test', 'test-request',... - When adding a new list 'test-request', check for existing alias/mailbox/list 'test-request', 'test-request-request',... *and* list 'test'. (The same for other list commands.) * TODO Check for cycles when creating new aliases? (It is impossible since the authenticated user may not have full read access on the graph) Actually Postfix checks it and warns the administrator with a "unreasonable virtual_alias_maps map nesting for test-loop1@fripost.org" in the logs. So it's fine to do a partial check here. * TODO Write a script to check every runmode against the W3 validator. * TODO Use FastCGI. References - http://search.cpan.org/~naoya/CGI-Application-FastCGI-0.02/lib/CGI/Application/FastCGI.pm - http://stackoverflow.com/questions/11771564/nginx-fastcgi-configuration-for-cgiapplication-app * TODO Use HTML::Template::Pro. Not sure it's really worth it, though. * TODO Forbid `/' and `\0' to appear in the domain/user name. * TODO How should we encode the URL for internationalized domain names? Punicode vs. unicode vs. HTML entities? (Right now it's HTML entities.) * TODO Forbid UTF8 in the domain part of lists? (Test if the list managers support it at least.)