Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexey Vissarionov                   2:5020/545     20 Apr 2007  16:09:56
 To : Peter Tarakanov
 Subject : Рассылка писем
 -------------------------------------------------------------------------------- 
 
 
 20 Apr 07 14:38, Peter Tarakanov -> All:
 
  PT> Есть список людей (фамилия, имя, e-mail) в виде какого-нибудь файла.
  PT> Каждому человеку нужно послать письмо, начинающееся с фразы вроде
  PT> "Дорогой <имя>!" (остальная часть письма одинакова для всех). Вопрос
  PT> -- как сделать сие в эхотаге наиболее простыми средствами? Объем
  PT> рассылки -- от нескольких десятков до сотни писем.
 
 #!/usr/bin/perl
 # ресурсоемко - но тебе же не спам рассылать, правда? :-)
 
 my $template, $message;
 my $line;
 my $name, $email;
 
 open TEXT, "< message.txt" or die "error opening template";
 $template="";
 while ($line=<TEXT>)
 {
  $template .= $line;
 }
 close TEXT;
 
 open LIST, "< subscribers.txt" or die "error opening list";
 while ($line=<LIST>)
 {
  ($name, $email) = split(/, */, $line);
  $message = $template;
  $message =~ s/__NAME__/$name/g;
  print $email;
  print $message;
 
 # нужный вызов system сам добавишь - в `man perlfunc` все написано
 }
 
 Образец subscribers.txt (после запятой может быть некоторое количество пробелов 
 для улучшения читабельности):
 ==== хрум ====
 Тест Первый,test1@example.com
 Тест Второй, test2@example.net
 ==== тьфу ====
 
 Образец message.txt (__NAME__ заменяется на текущее значение $name):
 ==== хрум ====
 Уважаемое __NAME__!
 Идите, пожалуйста, в жопу.
 ==== тьфу ====
 
  PT> Подозреваю, что нужен какой-то скриптик с использованием mailx и awk,
  PT> но не уверен, туда ли следует копать.
 
 Зачем? Perl придуман как раз для обработки текста...
 
  PT> P.S. Hа всякий случай -- это не попытка рассылать спам. :)
 
 Хы-хы.
 --
 Alexey V. Vissarionov aka Gremlin from Kremlin
 gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii
 
 ... Смайлики - тоже знаки препинания :-)
 --- /bin/vi
  * Origin: http://openwall.com/Owl/ru/ (2:5020/545)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Рассылка писем   Peter Tarakanov   20 Apr 2007 14:38:25 
 Рассылка писем   Alexey Vissarionov   20 Apr 2007 16:09:56 
 Re: Рассылка писем   Ilya Anfimov   20 Apr 2007 17:43:06 
 Re: Рассылка писем   Victor Wagner   20 Apr 2007 18:13:47 
 Рассылка писем   Peter Tarakanov   20 Apr 2007 17:39:32 
 Re: Рассылка писем   Ilya Anfimov   20 Apr 2007 17:41:04 
 Re: Рассылка писем   Vsevolod Krishchenko   20 Apr 2007 17:56:25 
 Re: Рассылка писем   Ilya Anfimov   20 Apr 2007 18:03:43 
 Рассылка писем   Peter Tarakanov   20 Apr 2007 17:43:02 
 Re: Рассылка писем   Sergey   21 Apr 2007 09:07:11 
Архивное /ru.linux/22944628be4c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional