aboutsummaryrefslogtreecommitdiff
path: root/www/common.pl
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2012-10-03 18:59:16 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2012-10-03 18:59:16 +0200
commit08b9ee11fe5e5a54af866a061c9e8d7782cac3c7 (patch)
tree5715109aa14dee38c368118abec0495d8d3e91fd /www/common.pl
parent72abba77573c3583dc373526f6ce86b895eacc6d (diff)
Make /etc/aliases optional. Add configurability through setup.pl.
Diffstat (limited to 'www/common.pl')
-rw-r--r--www/common.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/www/common.pl b/www/common.pl
new file mode 100644
index 0000000..7590fba
--- /dev/null
+++ b/www/common.pl
@@ -0,0 +1,24 @@
+#! /usr/bin/env perl
+# Copyright 2012, Matthias Andreas Benkard <code@mail.matthias.benkard.de>.
+
+use common::sense;
+#use Modern::Perl 2011;
+use Modern::Perl;
+
+use Mail::ExpandAliases;
+
+
+sub email_users($$) {
+ ($config, $email) = @_;
+ my $alias;
+ if ($email =~ /^(.*?)@/) { $alias = $1; }
+ my $aliases_file = $config->{aliases};
+ if (not ($aliases_file eq ".")) {
+ my $aliases = Mail::ExpandAliases->new($aliases_file);
+ my $session_user = $session->param('user');
+ my $email_users = $aliases->expand($alias) or die "User not found";
+ return @$email_users;
+ } else {
+ return ($alias);
+ }
+}