Автор Тема: Send Mail  (Прочитано 4004 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн restart2003

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 58
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Send Mail
« : 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);
}


Надеюсь, кто-нибудь сможет поделиться более удачным решением (желательно без применения компилируемых модулей, т.к. шаред хостинг).
Спасибо за внимание.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Send Mail
« Ответ #1 : 14 Февраля 2005, 12:13:08 »
Цитировать
restart2003:
Надеюсь, кто-нибудь сможет поделиться более удачным решением

Сначало нужно узнать почему это решение тебе не подходит.
The documentations is your friend

Оффлайн restart2003

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 58
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Send Mail
« Ответ #2 : 14 Февраля 2005, 13:40:04 »
Занимает многовато времени - это раз. Боюсь, что при возросшем числе писем будут проблемы.
Во-вторых, слышал, что есть более эффективные варианты.

В принципе, если этот вариант будет работать при числе писем в несколько тысяч, то можно и его оставить.

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Send Mail
« Ответ #3 : 14 Февраля 2005, 14:53:08 »
restart2003
если у тебя хранятся адреса в файле, то лучше не загонять в масив:
 while () {
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Send Mail
« Ответ #4 : 14 Февраля 2005, 17:04:36 »
Yaroslav
Цитировать
если у тебя хранятся адреса в файле, то лучше не загонять в масив:
while ( ) {

    а если у него, пардон, запор, то хорошо бы порекомендовать пурген...  
что за бред?
restart2003
Цитировать
В принципе, если этот вариант будет работать при числе писем в несколько тысяч, то можно и его оставить.

ИХМО проблеммы лучше решать по мере их поступления... провести тесты... своего способа отправки... определить кретический порог (что кстати не требует огромных усилий), а топом уже пытаться что - то улучшать...
« Последнее редактирование: 14 Февраля 2005, 17:10:47 от commander »
And no religion too...

Оффлайн restart2003

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 58
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Send Mail
« Ответ #5 : 14 Февраля 2005, 18:44:50 »
commander
Я люблю решать проблемы до их появления :)
Про критический порог - слышал в нескольких источниках - ~1000.Yaroslav
Это и так понятно, спасибо. Меня интересует конкретно отправка письма и альтернативные способы. :)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Send Mail
« Ответ #6 : 14 Февраля 2005, 18:55:38 »
Альтернативный способ - Net::SMTP в несколько тредов.
The documentations is your friend

Оффлайн restart2003

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 58
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Send Mail
« Ответ #7 : 14 Февраля 2005, 20:41:22 »
NeoNox
Спасибо, попробую.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28