/[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 15 by dpavlin, Sun May 15 16:25:01 2005 UTC revision 18 by dpavlin, Sun May 15 17:01:19 2005 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use Class::DBI::Loader::Pg;  use Class::DBI::Loader::Pg;
5  use Getopt::Long;  use Getopt::Long;
 use Mail::CheckUser qw(check_email);  
6  use Email::Valid;  use Email::Valid;
7  use Email::Send;  use Email::Send;
8    
# Line 30  my $list_opt; Line 29  my $list_opt;
29  my $add_opt;  my $add_opt;
30  my $queue_opt;  my $queue_opt;
31  my $send_opt;  my $send_opt;
32    my $email_opt;
33    
34  my $result = GetOptions(  my $result = GetOptions(
35          "list:s" => \$list_opt,          "list:s" => \$list_opt,
# Line 38  my $result = GetOptions( Line 38  my $result = GetOptions(
38          "send:s" => \$send_opt,          "send:s" => \$send_opt,
39          "debug" => \$debug,          "debug" => \$debug,
40          "verbose" => \$verbose,          "verbose" => \$verbose,
41            "email=s" => \$email_opt,
42  );  );
43    
44    
# Line 85  if (defined($list_opt)) { Line 86  if (defined($list_opt)) {
86          }          }
87    
88          foreach my $list (@lists) {          foreach my $list (@lists) {
89                  print $list->name,"\n";                  print $list->name," <",$list->email,">\n";
90                  foreach my $user_on_list ($user_list->search(list_id => $list->id)) {                  foreach my $user_on_list ($user_list->search(list_id => $list->id)) {
91                          my $user = $users->retrieve( id => $user_on_list->user_id );                          my $user = $users->retrieve( id => $user_on_list->user_id );
92                          print "\t",$user->full_name," <", $user->email, ">\n";                          print "\t",$user->full_name," <", $user->email, ">\n";
# Line 100  argument) or read from C<STDIN>. List sh Line 101  argument) or read from C<STDIN>. List sh
101   email@example.com      Optional full name of person   email@example.com      Optional full name of person
102   dpavlin@rot13.org      Dobrica Pavlinusic   dpavlin@rot13.org      Dobrica Pavlinusic
103    
104    You may use C<--email> parametar at any time to set From: e-mail address for list.
105    B<This seems somewhat cludgy, and it will probably change in future>.
106    
107  =cut  =cut
108    
109  } elsif ($add_opt) {  } elsif ($add_opt) {
# Line 107  argument) or read from C<STDIN>. List sh Line 111  argument) or read from C<STDIN>. List sh
111          my $list = $lists->find_or_create({          my $list = $lists->find_or_create({
112                  name => $add_opt,                  name => $add_opt,
113          }) || die "can't add list $add_opt\n";          }) || die "can't add list $add_opt\n";
114            if ($email_opt && $list->email ne $email_opt) {
115                    $list->email($email_opt);
116                    $list->update;
117                    $list->dbi_commit;
118            }
119    
120          my $added = 0;          my $added = 0;
121    
# Line 143  argument) or read from C<STDIN>. List sh Line 152  argument) or read from C<STDIN>. List sh
152  Queue message for later delivery. Message can be read from file (specified as  Queue message for later delivery. Message can be read from file (specified as
153  argument) or read from C<STDIN>.  argument) or read from C<STDIN>.
154    
155  This options without optional parametars it will display current queue.  This option without optional parametar will display pending queue. If you
156    add C<--verbose> flag, it will display all messages in queue.
157    
158  =cut  =cut
159    
# Line 201  This options without optional parametars Line 211  This options without optional parametars
211    
212  =item --send[=list_name]  =item --send[=list_name]
213    
214  Send e-mail waiting in queue for all lists, or with optional argument for  Send e-mails waiting in queue, or with optional argument, just send messages
215  just single list.  for single list.
216    
217  =cut  =cut
218    
# Line 232  just single list. Line 242  just single list.
242                                  print "SKIP ",$u->user_id->email," message allready sent\n";                                  print "SKIP ",$u->user_id->email," message allready sent\n";
243                          } else {                          } else {
244                                  print "\t",$u->user_id->email,"\n";                                  print "\t",$u->user_id->email,"\n";
245    
246                                    # FIXME do real sending :-)
247                                  send IO => "$hdr\n$msg";                                  send IO => "$hdr\n$msg";
248    
249                                  $sent->create({                                  $sent->create({
250                                          message_id => $m->message_id,                                          message_id => $m->message_id,
251                                          user_id => $u->user_id,                                          user_id => $u->user_id,
# Line 265  Turn on debugging output from C<Class::D Line 278  Turn on debugging output from C<Class::D
278    
279  Dump more info on screen.  Dump more info on screen.
280    
281    =item --email
282    
283    Used to specify e-mail address where needed.
284    
285  =back  =back
286    
287    

Legend:
Removed from v.15  
changed lines
  Added in v.18

  ViewVC Help
Powered by ViewVC 1.1.26