#!/usr/bin/perl -wT use strict; use warnings; use CGI qw/:standard/; print "Content-type: text/html\n\n"; print < mail sending with progressbar-jquery-ajax-




HTML #### my $sub = $Cgi->param("sub"); my $msg = $Cgi->param("msg"); my $Response; if ($sub) { my $select_emails = $dbh->prepare("SELECT DISTINCT email FROM testuser"); $select_emails->execute(); my $records = $select_emails->fetchall_arrayref; my @to; for my $em ( @$records ) { push @to, @$em; } for my $recipient(@to) { mail($recipient); } sub mail { my $recipient = shift; my $smtpserver = 'smtp.xxxxxx.com'; my $smtpport = 587; my $smtpuser = 'xxxxx'; my $smtppassword = 'xxxxxx'; my $transport = Email::Sender::Transport::SMTP->new({ host => $smtpserver, ssl => 'starttls', port => $smtpport, sasl_username => $smtpuser, sasl_password => $smtppassword, }); my $email = Email::Simple->create( header => [ To => $recipient, From => 'xxxxx@xxxx.com', Subject => $sub, 'Content-Type' => 'text/html', ], body => $msg, ); sendmail($email, { transport => $transport }); $Response = "Done sending"; } my $json = encode_json( { msg => $Response } ); print $Cgi->header( -type => 'application/json' ),$json; } $dbh->disconnect;