|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/22944628be4c.html, оценка из 5, голосов 10
|