in reply to mail counter
I know how to do all the counting and resetting stuff. Does anyone know how to make the script look like a sendmail like program as far as PHP’s mail functions are concerned?
Ah, I see, you're basically asking how to make the interface to your queuing system, which is basically:
* Keep a count of how many messages go out in x amount of time,
* Queue up messages that can't go out after the limit has been reached
* Reset counter after x amount
* Send awaiting messages,
* etc,
I've always used Getopt::Long for command line interfaces. To emulate what you'd give to sendmail, you'd do something like:
(untested)#!/usr/bin/perl use Getopt::Long; my $sendmail = '/usr/sbin/sendmail'; my $f_flag = undef; my $t_flag = undef; my $i_flag = undef; my $o_flag = undef; GetOptions("f=s" => \$f_flag, "t" => \$t_flag, "i" => \$i_flag, "o" => \$o_flag, ); # Skipping the queue/count stuff for laziness... my $sendmail_w_flags = $sendmail; if($f_flag){ $sendmail_w_flags .= ' -f'.$f_flag; } if($t_flag){ $sendmail_w_flags .= ' -t';; } if($i_flag){ $sendmail_w_flags .= ' -i';; } if($o_flag){ $sendmail_w_flags .= ' -o';; } my $message = <STDIN>; open(MAIL, '|' . $sendmail_w_flags) or die $!; print MAIL $message or die $!; close MAIL or die $!;
|
|---|