Forum Webscript.Ru
Программирование => Perl => Тема начата: restart2003 от 14 Февраля 2005, 03:14:18
-
Здравствуйте!
Я провожу рассылку на ~500 человек (число постоянно увеличивается).
Делаю весьма коряво:
my $mail_prog = "/usr/sbin/sendmail";
foreach $email (@mail) {
open (MAIL, "|$mail_prog -t") || die "cannot open mailprog";
print MAIL "To: $email <$email>\\n";
print MAIL "Reply-to: $from <$from>\\n";
print MAIL "From: $from <$from>\\n";
print MAIL "Subject: $subject\\n";
print MAIL "Content-type: text/html; charset=\\"Windows-1251\\"\\n\\n";
print MAIL "$tosend";
print MAIL "\\n\\n" ;
close(MAIL);
}
Надеюсь, кто-нибудь сможет поделиться более удачным решением (желательно без применения компилируемых модулей, т.к. шаред хостинг).
Спасибо за внимание.
-
restart2003:
Надеюсь, кто-нибудь сможет поделиться более удачным решением
Сначало нужно узнать почему это решение тебе не подходит.
-
Занимает многовато времени - это раз. Боюсь, что при возросшем числе писем будут проблемы.
Во-вторых, слышал, что есть более эффективные варианты.
В принципе, если этот вариант будет работать при числе писем в несколько тысяч, то можно и его оставить.
-
restart2003
если у тебя хранятся адреса в файле, то лучше не загонять в масив:
while () {
-
Yaroslav
если у тебя хранятся адреса в файле, то лучше не загонять в масив:
while ( ) {
а если у него, пардон, запор, то хорошо бы порекомендовать пурген...
что за бред?
restart2003
В принципе, если этот вариант будет работать при числе писем в несколько тысяч, то можно и его оставить.
ИХМО проблеммы лучше решать по мере их поступления... провести тесты... своего способа отправки... определить кретический порог (что кстати не требует огромных усилий), а топом уже пытаться что - то улучшать...
-
commander
Я люблю решать проблемы до их появления :)
Про критический порог - слышал в нескольких источниках - ~1000.Yaroslav
Это и так понятно, спасибо. Меня интересует конкретно отправка письма и альтернативные способы. :)
-
Альтернативный способ - Net::SMTP в несколько тредов.
-
NeoNox
Спасибо, попробую.