|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Victor Wagner 2:5020/400 15 Dec 2004 17:19:31 To : "Alexander V. Gaiduk" Subject : Re: Hа: Чтобы и скрипт работал и пользователь не заснул -------------------------------------------------------------------------------- Alexander V. Gaiduk <gav@arhcity.ru> wrote: AVG> у меня такое работало несколько лет, пока проект не закрылся AVG> самоликвидацией спонсора. AVG> sub send_email { AVG> &database_close; AVG> if (fork()) { exit; } AVG> foreach my $ml (keys %mails) { AVG> open(MAIL, "|$mta -oi -t -odq ".$mails{$ml}) || die "Can't open $mta"; AVG> print MAIL "From: $from\n"; AVG> print MAIL "Reply-to: $from\n"; AVG> print MAIL "To: $mails{$ml}\n"; Вообще-то ты зря создаешь такую немерянную нагрузку на сервер, запуская количество процессов сендмейла, равную количеству адресатов и только ради того, чтобы каждому его адрес в To: прописать. Прописал бы туда что-нибудь вроде Vodnik WEB Servece User <bounce@yourserver.ru> и слал бы одной командой. Я, правда, в таких случаях использую open "|-" и списковую форму exec, чтобы гарантировать что никакой shell не попытается проинтерпретировать список адресов. А то вдруг у кого в базе окажется адрес вида mail@nowhere.com;rm -rf / Hо к заданному вопросу это не имеет никакого отношения. Рассылкой почты в течение нескольких часов у тебя занимается не часть твоего скрипта, а работающий на сервере МТA, в очередь которому ты это дело (указав опцию -odq) очень быстро впихнул. -- --- ifmail v.2.15dev5.3 * Origin: Free Net of Leninsky,45 (2:5020/400) Вернуться к списку тем, сортированных по: Архивное /ru.cgi.perl/15178c999a160.html, оценка из 5, голосов 10
|