A little script that i made to send an e-mail to all users in /etc/passwd, i made this to learn more about perl and Mail::Sendmail module
#!/usr/bin/perl -w
use strict;
use Mail::Sendmail;
my %mail;
open(FILE, "/etc/passwd");
while(<FILE>){
chomp;
@_ = split/:/;
if ($_[3] >100){
print "Testing Mail::Sendmail version $Mail::Sendmail::VERSION
+\n";
print "Default server: $Mail::Sendmail::mailcfg{smtp}->[0]\n";
print "Default sender: $Mail::Sendmail::mailcfg{from}\n";
%mail = (
To => "$_[0]".'@xenon.pquim.unam.mx',
# To => 'erick@xenon.pquim.unam.mx',
From => 'root@xenon.pquim.unam.mx',
#Bcc => 'Someone <him@there.com>, Someone else her@there.com
+',
# only addresses are extracted from Bcc, real names disregarded
#Cc => 'Yet someone else <xz@whatever.com>',
# Cc will appear in the header. (Bcc will not)
Subject => 'Administracion de litio',
'X-Mailer' => "Mail::Sendmail version $Mail::Sendmail::VERSION",
);
$mail{Smtp} = 'localhost';
$mail{'X-custom'} = 'My custom additionnal header';
$mail{'Message : '} = "Este correo es para avisar que si reciben cor
+reo \"spam\", este puede ser cancelado, como una atencion al usuario.
+ Me puedes enviar un correo especificando la direccion de donde te l
+lega el spam el cual sera marcado como {SPAM} en cuanto llegue o si e
+ste esta marcado como {SPAM} y \"NO LO ES\" hazmelo saber de la misma
+ manera para evitar su eliminacion posterior. atte. erick";
# cheat on the date:
$mail{Date} = Mail::Sendmail::time_to_date( time() - 86400 );
if (sendmail %mail) { print "Mail sent OK.\n" }
else { print "Error sending mail: $Mail::Sendmail::error \n" }
print "\n\$Mail::Sendmail::log says:\n", $Mail::Sendmail::log;
#print "$_[0] \n";
}
}
close FILE;