Возникла задача отправлять на почту результаты выполнения сервисов.
Соотвесвенно весь код засунут в sub endjobnow в job.pl
Пока получилось чтото типа:
sub endjobnow
{
$p=&check_del_job;
$mid=$p->{mid};
$time=$t-$p->{time};
$h=int $F{level};
$h=0 if $h<0;
# работники, которым стоит галка `замечание`
$h.=(!!$F{"w$_"} && ",$id") foreach (keys %$W);
$reason=$p->{reason};
$h="$reason#$time,$p->{time},$h";
$coment="Админ, выдавший задание: ".&Filtr($p->{admin})."\n";
$coment.="Комментарий при постановке задания: ".&Filtr_mysql($p->{coment})."\n\n" if $p->{coment};
$coment.="Комментарий при принятии работы: \n".&Filtr_mysql($F{coment}) if $F{coment};
use Net::SMTP::TLS;
my $mailer = new Net::SMTP::TLS(
'smtp.gmail.com',
Hello => 'smtp.gmail.com',
Port => 587,
User => 'username',
Password=> 'password');
$mailer->mail('mail@mail');
$mailer->to('mail@mail');
$mailmessage="Subject: Сервис закрыт\n";
$mailmessage.=$coment;
$mailmessage.=$userinfo;
$mailer->data;
$mailer->datasend($mailmessage);
$mailer->dataend;
$mailer->quit;
# ставим полное условие на случай если после запроса параллельно кто-то дал команду закончить задание
$rows=&sql_do($dbh,"UPDATE pays SET category=461,admin_id=$Admin_id,admin_ip=INET_ATON('$ip'),reason='$h',coment='$coment',time=$t WHERE id=$Fidjob AND type=50 AND category=460 LIMIT 1");
$rows<1 && &Error("Задание не отмечено как завершенное. Возможно пока вы вводили данные другой админ завершил выполнение задания, либо удалил его.$go_back",$tend);
&OkMess(&div('big','Задание работников отмечено как завершенное'));
Хотелось бы еще както вставить данные польнователя - логин, адрес, фио.
Как это проще всего сделать?