summaryrefslogtreecommitdiff
path: root/bin/ChangeLogEditor/EmailTranslator.pm
blob: eacbff2249786e2a909fce38486df16be645056d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package EmailTranslator;

# ************************************************************
# Description   : Translate the given user name and domain into
#                 an email address.
# Author        : Chad Elliott
# Create Date   : 6/18/2002
# ************************************************************

# ************************************************************
# Pragmas
# ************************************************************

use strict;
use FileHandle;

# ************************************************************
# Subroutine Section
# ************************************************************

sub new {
  my($class)  = shift;
  my($domain) = shift;
  my($self)   = bless {'domain' => "\@$domain",
                      }, $class;
  return $self;
}


sub translate {
  my($self)    = shift;
  my($name)    = shift;
  my($domain)  = $self->{'domain'};
  my($email)   = "$name$domain";
  my(%special) = ();

  if (defined $ENV{REPLYTO}) {
    $email = $ENV{REPLYTO};
  }
  elsif (defined $special{$name}) {
    $email = $special{$name} . $domain;
  }
  elsif ($name =~ /([^\s]+)\s+([^\s]+)/) {
    ## Last name underscore first initial
    $email = lc($2 . '_' . substr($1, 0, 1)) . $domain;
  }

  return $email;
}


1;