Hi vinoth.ree,
Your script is fine to grep all the mail. But I don't know why it cannot work when I apply in
$smtp->mail(&xxx);
$smtp->to(&xxx);
or even i assigned to scalar also same
my $email=&xxx;
$smtp->mail($email);
$smtp->to(email);
Only work when I manual keyin email like this
$smtp->mail('YYY@hotmail.com,' 'xxx@hotmail.com');
$smtp->to('YYY@hotmail.com,' 'xxx@hotmail.com');
below is the script that I modified a bit from the script your provided.
sub xxx
{
my $query = CGI->new;
my $mail = CGI->new;
my @recipient = ();
open(my $file, "<", "users.txt") or die "Can't open input.txt: $!";
my $hotmail = "hotmail\.com";
my $gmail = "gmail\.com";
# print $query->header('text/html'); # create the HTTP header
# print $query->start_html('Login Access'); # start the HTML
while (<$file>)
{
chomp;
my $emailid= (split/\s+/,$_) [2];
if (/$hotmail/)
{
push(@recipient,$emailid);
}
elsif (/$gmail/)
{
push(@recipient,$emailid);
}
}
$email = join(', ', @recipient);
return $email;
}
The result of join is same like this
www@hotmail.com, xxx@hotmail.com
is it the ' ' symbol I didn't add in beside the mail address during join function? I have no idea how to add in there.