/[notice-sender]/trunk/sender.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/sender.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 38 by dpavlin, Tue May 17 21:37:06 2005 UTC revision 51 by dpavlin, Wed May 25 15:02:12 2005 UTC
# Line 19  sender.pl - command line notify sender u Line 19  sender.pl - command line notify sender u
19    
20  In C</etc/aliases> something like:  In C</etc/aliases> something like:
21    
22   mylist: "| /path/to/sender.pl --inbox=mylist"   mylist: "| cd /path/to && ./sender.pl --inbox=mylist"
23    
24  =head2 Command options  =head2 Command options
25    
# Line 40  my $result = GetOptions( Line 40  my $result = GetOptions(
40          "inbox=s" => \$opt->{'inbox'},          "inbox=s" => \$opt->{'inbox'},
41          "debug" => \$debug,          "debug" => \$debug,
42          "verbose" => \$verbose,          "verbose" => \$verbose,
43            "from=s" => \$opt->{'from'},
44            "driver=s" => \$opt->{'email_send_driver'},
45            "sleep=i" => \$opt->{'sleep'},
46  );  );
47    
48  my $nos = new Nos(  my $nos = new Nos(
# Line 73  my $list_name; Line 76  my $list_name;
76    
77  Adds new list. You can also feed list name as first line to C<STDIN>.  Adds new list. You can also feed list name as first line to C<STDIN>.
78    
79    You can also add C<--from='Full name of list'> to specify full name (comment)
80    in outgoing e-mail.
81    
82  =cut  =cut
83    
84  if ($list_name = $opt->{'new'}) {  if ($list_name = $opt->{'new'}) {
# Line 84  if ($list_name = $opt->{'new'}) { Line 90  if ($list_name = $opt->{'new'}) {
90    
91          my $id = $nos->new_list(          my $id = $nos->new_list(
92                  list => $list_name,                  list => $list_name,
93                    from => ($opt->{'from'} || ''),
94                  email => $email,                  email => $email,
95          ) || die "can't add list $list_name\n";          ) || die "can't add list $list_name\n";
96    
# Line 111  on that list. Line 118  on that list.
118    
119          foreach my $list (@lists) {          foreach my $list (@lists) {
120                  print $list->name," <",$list->email,">\n";                  print $list->name," <",$list->email,">\n";
121                  foreach my $user_on_list ($user_list->search(list_id => $list->id)) {                  foreach my $u ($nos->list_members( list => $list->name )) {
122                          my $user = $users->retrieve( id => $user_on_list->user_id );                          print "\t",$u->{'name'}, " <", $u->{'email'}, ">\n";
                         print "\t",$user->full_name," <", $user->email, ">\n";  
123                  }                  }
124          }          }
125    
# Line 130  argument) or read from C<STDIN>. List sh Line 136  argument) or read from C<STDIN>. List sh
136    
137  } elsif ($list_name = $opt->{'add'}) {  } elsif ($list_name = $opt->{'add'}) {
138    
139          my $list = $lists->find_or_create({          my $list = $nos->_get_list($list_name) || die "can't find list $list_name\n";
                 name => $list_name,  
         }) || die "can't add list $list_name\n";  
140    
141          my $added = 0;          my $added = 0;
142    
# Line 200  add C<--verbose> flag, it will display a Line 204  add C<--verbose> flag, it will display a
204  Send e-mails waiting in queue, or with optional argument, just send messages  Send e-mails waiting in queue, or with optional argument, just send messages
205  for single list.  for single list.
206    
207    Optional argument C<--driver=smtp> forces sending using SMTP server at
208    localhost (127.0.0.1).
209    
210    Optional argument C<--sleep=42> defines that sender will sleep 42 seconds
211    between sending e-mail.
212    
213  =cut  =cut
214    
215  } elsif (defined($list_name = $opt->{'send'})) {  } elsif (defined($list_name = $opt->{'send'})) {
216    
217          $nos->send_queued_messages($list_name);          $nos->send_queued_messages(
218                    list => $list_name,
219                    driver => $opt->{'email_send_driver'},
220                    sleep => $opt->{'sleep'},
221            );
222    
223    
224  =item --inbox=list_name  =item --inbox=list_name

Legend:
Removed from v.38  
changed lines
  Added in v.51

  ViewVC Help
Powered by ViewVC 1.1.26