Скрипт для рассылки писем

HC
На сайте с 19.07.2011
Offline
119
616

Привет братья сёстры благослави вас бог всевышний

Присоветуйте плиз проверенный вами скрипт или прогу для рассылки писем

Чтобы рассылка делалась с сервера а не с домашнего компьютера

Скрипт/прога обязательно должен/должна уметь:

— забирать из базы имя адресата и вставлять его в поле Subject

— забирать из базы имя адресата и вставлять его в поле Body

База — это простой txt файл вида:

Вася Пупкин
vasya@pupkin.ru

Маша Курочкина
masha@kurochkina.ru

Петя Бриллиант
petya@brillianta.ru

Сейчас есть такой Perl-овый скриптик но с ним есть мелкие нерешённые косяки (например проблема с кодировкой в поле Subject у некоторых получателей):

#!/usr/bin/perl

$|=1;
*STDERR=*STDOUT;

$letter='';

$r=open(LET,"letter");
print "letter: \$r=$r\n$!\n" if !$r;
$From=<LET>;
$Subj=<LET>;
while(<LET>) {$letter.=$_}
close LET;

$r=open(ADDR,"addr");
print "addr: \$r=$r\n$!\n" if !$r;
$cnt=0;
while(<ADDR>) {
my $em='';
$cnt++;
s/\s+$//;
$name=$_;
$em=$cnt.": Имя не найдено\n" if $name eq '';
#print length($name).": $name=\n$em\n"; exit;
$fname=(split /\s+/,$name)***91;0***93;;
$addr=<ADDR>; $cnt++;
$addr=~s/\s+$//;
$em.=$cnt.": Адрес не найден\n" if $addr eq '';
$em.=$cnt.": Неправильный адрес ***91;$addr***93;\n" if $addr!~/^***91;^@***93;+@***91;^@***93;+$/;
if($em){ print $em; exit }
$foo=<ADDR>; $cnt++;
my $let=$letter;
$let=~s/%%%/$fname/;
my $psubj=$Subj;
$psubj=~s/%%%/$fname/;

my $mailprog="/usr/sbin/sendmail";
$r=open(MAIL,"|$mailprog -t");
print "sendmail: \$r=$r\n$!\n" if !$r;

my $letlen=length($let);
print MAIL "To: $name <$addr>\n";
print MAIL "From: $From";
print MAIL "Content-Type: text/plain; charset=UTF-8\n";
print MAIL "Reply-To: $From";
print MAIL "Return-Path: $From";
print MAIL "Subject: $psubj";
print MAIL "Content-Length: $letlen\n";
print MAIL "\n$let";
close MAIL;

print "To: $name <$addr>\n";
sleep(6)
}
close ADDR;
orphelin
На сайте с 02.07.2006
Offline
261
#1

чтобы с txt работали не знаю, а по поводу кодировки мб поможет кодирование base64 заголовков?

HC
На сайте с 19.07.2011
Offline
119
#2
orphelin:
чтобы с txt работали не знаю, а по поводу кодировки мб поможет кодирование base64 заголовков?

Не понял

Можно конкретнее?

Желательно прямо в код скрипта вставить (я не программёр)

HC
На сайте с 19.07.2011
Offline
119
#3

Разобрались. Теперь всё good.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий