Привет братья сёстры благослави вас бог всевышний
Присоветуйте плиз проверенный вами скрипт или прогу для рассылки писем
Чтобы рассылка делалась с сервера а не с домашнего компьютера
Скрипт/прога обязательно должен/должна уметь:
— забирать из базы имя адресата и вставлять его в поле Subject
— забирать из базы имя адресата и вставлять его в поле Body
База — это простой txt файл вида:
Цитата:
Вася Пупкин Маша Курочкина Петя Бриллиант |
Сейчас есть такой Perl-овый скриптик но с ним есть мелкие нерешённые косяки (например проблема с кодировкой в поле Subject у некоторых получателей):
PHP код:
#!/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;