Two lines:
system ("$imail1 -f $temp_msg -s $subject -t $toaddress");
and
system ("$imail1 -f $mailbox -s $subject -t $admin_address");
The first occurance is sending the message to the user. The second sends the
log to the postmaster. There are probably some command line options for
IMAIL1.EXE to change the sender address. I think it currently uses some
default. This is an Ipswitch utility and is probably documented in the
manual or in the knowledge base.
-----Original Message-----
From: Anthony Poisson
To: [EMAIL PROTECTED]
Sent: 4/27/00 11:17 PM
Subject: Re: [IMail Forum] *Working* - issue warnings to users approaching
the mailboxsize limit
working great guys, but one question, where in the script is the sender
of
the admin message determined, I tried it out and for some reason, my
spam
reporting account sent out the message how do I make my admin or
postmaster
account send out the mail?
Thank You,
Anthony Poisson
Network Administrator
Tidalwave Internet Network Services
A little Microsoft Haiku:
Stay the patient course.
Of little worth is your ire.
The network is down.
----- Original Message -----
From: "David Gregg" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, April 27, 2000 7:14 PM
Subject: Re: [IMail Forum] *Working* - issue warnings to users
approaching
the mailboxsize limit
> Bear with me here folks. One more post of perl code that you can
implement
> to remove the last reference to the 'DIR' command used in the latest
version
> of limit.pl
>
> Joel, once this script has made it's rounds and everybody is happy
with
it,
> let me know and I'd be glad to compile it into an exe so the non-perl
folks
> can benefit too.
>
> # replace the dir_size subroutine with this one and you will no longer
have
> any dependance on the DIR command
>
> sub dir_size {
> local($l_physicaldirectory) = @_;
> local(@l_allfiles, $l_dirsize, $l_filename);
> local($l_fdev, $l_fino, $l_fmode, $l_fnlink, $l_fuid, $l_fgid,
$l_frdev,
> $l_fsize, $l_fatime, $l_fmtime, $l_fctime, $l_fblksize, $l_fblocks);
>
> chdir("$l_physicaldirectory");
> opendir(THISDIR, ".");
> @l_allfiles = grep(!-d, readdir(THISDIR));
> closedir(THISDIR);
>
> $l_totsize = 0;
> foreach $l_filename (@l_allfiles) {
> ($l_fdev, $l_fino, $l_fmode, $l_fnlink, $l_fuid, $l_fgid, $l_frdev,
> $l_fsize, $l_fatime, $l_fmtime, $l_fctime, $l_fblksize, $l_fblocks) =
> stat("$l_physicaldirectory/$l_filename");
> $l_dirsize += $l_fsize;
> }
> return $l_dirsize;
> }
>
>
> -----Original Message-----
> From: Dave Koontz <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> Date: Thursday, April 27, 2000 3:56 PM
> Subject: Re: [IMail Forum] *Working* - issue warnings to users
approaching
> the mailboxsize limit
>
>
> >Joel Morgan / David Gregg...
> >
> >Sincere THANKS To Both of you!
> >
> >Dave's Directory Routine FIXED the problem in Win2K for the excellent
> script
> >Joel provided us all! I simply cut Joel's sub "dir_list" routine
and
> >pasted in the one below David provided us and wha-la.... it works
like a
> >charm.
> >
> >I took the liberty of making it easier for the eye to scan your
scripts
> >output (ie USER name), by adding an addition line break between user
> >listings and also the warning/caution captions. This is especially
helpful
> >in a large domain where hundreds of users all running together gets
> >confussing fast.
> >
> >Here is the modified working script for Windows 2000 and NT 4.0....
> >
> >Sincere Thanks again for Sharing this outstanding tool Joel! It's
folks
> >like you that make this list such a wonderful experience for us all!
> >
> >----- Original Message -----
> >From: "Joel Morgan" <[EMAIL PROTECTED]>
> >To: <[EMAIL PROTECTED]>
> >Sent: Thursday, April 27, 2000 1:56 PM
> >Subject: RE: [IMail Forum] issue warnings to users approaching the
> >mailboxsize limit
> >
> >
> >Thanks for the alternate method. My method was crude, but works on my
> server
> >at work as well as at home. Maybe this will fix some of the problems.
I
> >believe the reliance on DIR to retrieve this info is the reason many
users
> >are getting errors.
> >
> >Here is the new dir_list routine modified slightly to replace the old
one:
> >
>
>#######################################################################
####
> ># Subroutine contributed by David Gregg [EMAIL PROTECTED] to return a
list
> >of subdirectories.
>
>#######################################################################
####
> >
> >sub dir_list {
> >local($l_physicaldirectory) = @_;
> >local(@l_alldirs, $l_dir);
> >chdir("$l_physicaldirectory");
> >opendir(THISDIR, ".");
> >@l_alldirs = grep(-d, grep(!/^\.\.?$/ , readdir(THISDIR)));
> >closedir(THISDIR);
> >@l_alldirs = sort(@l_alldirs);
> >return @l_alldirs;
> >}
> >
> >Not tested, but should work as is. I'll try to implement these into
the
> >script tonight. Very nice routine. Thanks for the contribution. Stick
with
> >it and maybe we can get the bugs out.
> >
> >> -----Original Message-----
> >> From: David Gregg [SMTP:[EMAIL PROTECTED]]
> >> Sent: Thursday, April 27, 2000 12:50 PM
> >> To: [EMAIL PROTECTED]
> >> Subject: Re: [IMail Forum] issue warnings to users approaching the
> >> mailboxsize limit
> >>
> >> Forgive the multiple posts, but I forgot to include the snippet for
> >> returning a list of subdirs.
> >>
> >> Thanks again for your contribution to the list Joel!
> >>
> >> &dodirlist('c:\imail');
> >> exit;
> >>
> >> sub dodirlist {
> >> local($l_physicaldirectory) = @_;
> >> local(@l_alldirs, $l_dir);
> >> chdir("$l_physicaldirectory");
> >> opendir(THISDIR, ".");
> >> @l_alldirs = grep(-d, grep(!/^\.\.?$/ , readdir(THISDIR)));
> >> closedir(THISDIR);
> >>
> >> @l_alldirs = sort(@l_alldirs);
> >>
> >> foreach $l_dir (@l_alldirs) {
> >> print "$l_dir\n";
> >>
> >> }
> >> }
> >>
> >> -----Original Message-----
> >> From: David Gregg <[EMAIL PROTECTED]>
> >> To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> >> Date: Thursday, April 27, 2000 8:59 AM
> >> Subject: Re: [IMail Forum] issue warnings to users approaching the
> >> mailboxsize limit
> >>
> >>
> >> >The attached file will calculate total kbytes of a dir using only
> perl...
> >> >
> >> >
> >> >-----Original Message-----
> >> >From: Joel Morgan <[EMAIL PROTECTED]>
> >> >To: '[EMAIL PROTECTED]'
<[EMAIL PROTECTED]>
> >> >Date: Thursday, April 27, 2000 8:03 AM
> >> >Subject: RE: [IMail Forum] issue warnings to users approaching the
> >> >mailboxsize limit
> >> >
> >> >
> >> >>I haven't tested the script on Windows 2000 yet. The script
relies
> >> heavily
> >> >>on the DIR command to get a list of mailboxes as well as the
size. If
> >> >>Windows 2000 does this any differently than NT4 it will break.
Will
you
> >> >>verify this for me?
> >> >>
> >> >>When you issue the command "dir /ad C:\imail\users" what do you
get?
> Can
> >> >you
> >> >>redirect it "> test.txt" and send it to me?
> >> >>
> >> >>For example on NT4 SP5, when the script issues the command to get
a
> list
> >> of
> >> >>home directories:
> >> >>@lines = `dir /ad "$test_dir"`;
> >> >>
> >> >>which on my system is equivalent to "dir /ad E:\imail\users"
> >> >>
> >> >>It gets:
> >> >>
> >> >> Volume in drive E has no label.
> >> >> Volume Serial Number is 548A-792A
> >> >>
> >> >> Directory of e:\imail\users
> >> >>
> >> >>04/27/00 08:02a <DIR> .
> >> >>04/27/00 08:02a <DIR> ..
> >> >>03/01/00 03:07p <DIR> aacos1
> >> >>03/01/00 03:55p <DIR> aagui1
> >> >>03/01/00 03:39p <DIR> aalfo1
> >> >>03/01/00 03:07p <DIR> aalle1
> >> >><SNIP>
> >> >>03/01/00 03:08p <DIR> zluca1
> >> >>04/25/00 02:17p <DIR> zpers1
> >> >>03/01/00 03:08p <DIR> ztayl1
> >> >>03/01/00 03:52p <DIR> zthom1
> >> >>03/01/00 03:20p <DIR> zveal1
> >> >>03/01/00 03:58p <DIR> zwaji1
> >> >> 3755 File(s) 0 bytes
> >> >> 91,578,900,480 bytes free
> >> >>
> >> >>The script removes everything but lines containing directory
listings:
> >> >>#Remove first 7 lines, and last 2 lines
> >> >>pop(@lines);
> >> >>pop(@lines);
> >> >>shift(@lines);
> >> >>shift(@lines);
> >> >>shift(@lines);
> >> >>shift(@lines);
> >> >>shift(@lines);
> >> >>shift(@lines);
> >> >>shift(@lines);
> >> >>
> >> >>It then isolates the user directories and builds a hash of
directory
> >> >>listings only:
> >> >>#Loop through each line of directory output and strip out
everything
> >> >>#but the directory then call dir_size.
> >> >>#assign @lines to $line, one at a time
> >> >>foreach $line (@lines)
> >> >> {
> >> >> @line = split(/ /,$line,21);
> >> >> splice(@line,0,20);
> >> >> chomp(@line);
> >> >> my $current_dir = $line[0];
> >> >> push (@list, $current_dir);
> >> >> }
> >> >>
> >> >>It returns a hash containing all user directories:
> >> >>return @list;
> >> >>
> >> >>When you issue the command "dir /s/w
C:\imail\users\USERNAME\*.mbx"
> what
> >> do
> >> >>you get? Can you redirect it "> test2.txt" and send it to me?
> >> >>
> >> >>For example on NT4 SP5, when the script issues the command to get
total
> >> >>mailbox size:
> >> >>@res = `dir /s/w "$test_dir"`;
> >> >>
> >> >>which on my system is equivalent to "dir /s/w
> >> e:\imail\users\jmorgan\*.mbx"
> >> >>
> >> >>I get:
> >> >>
> >> >> Volume in drive E has no label.
> >> >> Volume Serial Number is 548A-792A
> >> >>
> >> >>
> >> >> Directory of e:\imail\users\jmorgan
> >> >>
> >> >>Main.mbx
> >> >> 1 File(s) 11,203 bytes
> >> >>
> >> >> Total Files Listed:
> >> >> 1 File(s) 11,203 bytes
> >> >> 91,579,039,744 bytes free
> >> >>
> >> >>In the script I take this and extract the line with the size in
it:
> >> >># The second to last line has the number of files and
> >> >># total size of the the directory
> >> >>my $LastLine = $res[-2];
> >> >>
> >> >>I then Isolate the number with:
> >> >>@res = split(/ /,$LastLine);
> >> >>
> >> >>Remove the commas:
> >> >>$_ = $res[-2];
> >> >>tr/0-9//cd;
> >> >>$res[-2] = $_;
> >> >>
> >> >>And return the total size of all mbx files:
> >> >>return $res[-2];
> >> >>
> >> >>As you can see, any variance in the way DIR prints its results
may
> break
> >> >the
> >> >>script. I don't have a Windows 2000 system running right now, so
I
> can't
> >> >>verify the output of the DIR command on Windows 2000.
> >> >>
> >> >>Hopefully I can make some changes and get it to work for
everyone,
once
> >> I
> >> >>get enough feedback. Any Perl gurus know a better way?
> >> >>
> >> >>> -----Original Message-----
> >> >>> From: Dave Koontz [SMTP:[EMAIL PROTECTED]]
> >> >>> Sent: Wednesday, April 26, 2000 8:43 PM
> >> >>> To: "Joel Morgan"
> >> >>> Subject: Re: [IMail Forum] issue warnings to users approaching
the
> >> >>> mailbox size limit
> >> >>>
> >> >>> First I would just like to say THANKS for providing such a nice
> script
> >> >for
> >> >>> everyone's use!
> >> >>>
> >> >>> I agree with another user on the iMail list that their should
be
TWO
> >> >>> levels
> >> >>> of notifications, perhaps at 75% - polite, and another more
serious
> >> one
> >> >>> at
> >> >>> 90%....
> >> >>>
> >> >>> Now, I do have a problem with the current script. Perhaps I am
just
> >> to
> >> >>> naive with perl. I am running iMail v6.03 on NT 2000. When I
run
> >> your
> >> >>> script, it displays "NO USER" name.... further it appears that
it
is
> >> just
> >> >>> looking at the \imail\users folder and not the individual
user's
> >> folder
> >> >as
> >> >>> the bytes for each user it finds are identical. When I modify
your
> >> >script
> >> >>> and attempt to isolate the $dir variable --- it returns ""
(nothing)
> >> So
> >> >>> the
> >> >>> registry key and the User folder your script looks at is always
the
> >> root
> >> >>> of
> >> >>> both. Can you help a newbie? <g>
> >> >>>
> >> >>> Thanks again....
> >> >>>
> >> >>> ----- Original Message -----
> >> >>> From
> >> >>> To: <[EMAIL PROTECTED]>
> >> >>> Sent: Wednesday, April 26, 2000 4:35 PM
> >> >>> Subject: [IMail Forum] issue warnings to users approaching the
> mailbox
> >> >>> size
> >> >>> limit
> >> >>>
> >> >>>
> >> >>> Imail version 6.X lacks the ability to issue warnings to users
> >> >approaching
> >> >>> the mailbox size limit. This perl script scans the registry for
each
> >> >>> domain
> >> >>> and checks each user's mailbox size against MaxSize entered for
the
> >> user
> >> >>> in
> >> >>> the registry. If the user has 0 entered as MaxSize then the
domains
> >> >>> MaxSize
> >> >>> entry is used. If the mailbox is within 10% of the limit it
emails
a
> >> >>> caution
> >> >>> to the user and logs it. If the user's mailbox exceeds the
limit it
> >> only
> >> >>> logs it. The resulting log file is then emailed to the
postmaster
> >> >account.
> >> >>> Sizes are reported in bytes.
> >> >>>
> >> >>> To run the script every 24 hours, schedule with the command "AT
2:00
> >> >>> /interactive /every:Su,M,T,W,Th,F,S C:\BIN\LIMIT.PL"
> >> >>>
> >> >>> I would appreciate any comments or suggestions. For example
should
> the
> >> >>> user
> >> >>> continue to be warned once the mailbox limit has been passed.
Maybe
> >> even
> >> >>> warn until the user is 10% over the limit. It currently starts
> warning
> >> >the
> >> >>> user at 10% of the limit and continues until the limit is
reached.
I
> >> >don't
> >> >>> want the number of warnings mailed to a user to be infinite.
> >> >>>
> >> >>> It should work without any configuration settings other than to
> either
> >> >>> manually run it or schedule it. Would someone give it a shot
and
help
> >> me
> >> >>> test it?
> >> >>>
> >> >>> It seems to work fine, but use at your own risk!
> >> >>>
> >> >>> Works with Activestate's Perl available at
> http://www.activestate.com/
> >> >>>
> >> >>> <<LIMIT.PL>>
> >> >>>
> >> >>Please visit http://www.ipswitch.com/support/mailing-lists.html
> >> >>to be removed from this list.
> >> >>
> >> >
> >>
> >> Please visit http://www.ipswitch.com/support/mailing-lists.html
> >> to be removed from this list.
> >Please visit http://www.ipswitch.com/support/mailing-lists.html
> >to be removed from this list.
> >
> >
>
> Please visit http://www.ipswitch.com/support/mailing-lists.html
> to be removed from this list.
>
Please visit http://www.ipswitch.com/support/mailing-lists.html
to be removed from this list.
Please visit http://www.ipswitch.com/support/mailing-lists.html
to be removed from this list.