add customer fields option with agent, display_custnum, status and name, RT#73721
[freeside.git] / FS / bin / freeside-email
1 #!/usr/bin/perl -Tw
2
3 use strict;
4 use FS::UID qw(adminsuidsetup);
5 use FS::Conf;
6 use FS::Record qw(qsearch);
7 use FS::svc_acct;
8
9 &untaint_argv;  #what it sounds like  (eww)
10 my $user = shift or die &usage;
11
12 adminsuidsetup $user;
13
14 my $conf = new FS::Conf;
15
16 my @svc_acct = qsearch('svc_acct', {});
17 my @emails = map $_->email, @svc_acct;
18
19 print join("\n", @emails), "\n";
20
21 # subroutines
22
23 sub untaint_argv {
24   foreach $_ ( $[ .. $#ARGV ) { #untaint @ARGV
25     #$ARGV[$_] =~ /^([\w\-\/]*)$/ || die "Illegal arguement \"$ARGV[$_]\"";
26     # Date::Parse
27     $ARGV[$_] =~ /^(.*)$/ || die "Illegal arguement \"$ARGV[$_]\"";
28     $ARGV[$_]=$1;
29   }
30 }
31
32 sub usage {
33   die "Usage:\n\n  freeside-email user\n";
34 }
35
36 =head1 NAME
37
38 freeside-email - Prints email addresses of all users on STDOUT
39
40 =head1 SYNOPSIS
41
42   freeside-email user
43
44 =head1 DESCRIPTION
45
46 Prints the email addresses of all customers on STDOUT, separated by newlines.
47
48 user: Freeside user
49
50 =head1 BUGS
51
52 =head1 SEE ALSO
53
54 =cut
55