Когда-то совсем недавно писал на пёрле скрипт для отсылки сообщений (postfix + HELO + авторизация при отправке.) Можно попробовать скрестить с NoDeny если сильно нужно.
#!/usr/bin/perl
use Net::SMTP;
use Date::Format;
%config = (
'host' => "smtp.******.zp.ua",
'hello' => "nodeny.*****.zp.ua",
'timeout' => 30,
'user' => 'notify@*****.zp.ua',
'password' => '123',
'subject' => "PingStat Info",
'msgfile' => "/home/zentavr/myscripts/mailer/message",
);
@recipients = (
'zentavr@*******.zp.ua',
'glat@*******.zp.ua',
);
# Открываем файл с текстом письма
open(MSG, $config{'msgfile'});
$msg=<MSG>;
close(MSG);
# Цепляемся к SMTP серву
$smtp = Net::SMTP->new( Host => $config{'host'},
Hello => $config{'hello'},
Timeout => $config{'timeout'},
);
# Авторизируемся
$smtp->auth($config{'user'}, $config{'password'});
# От кого?
$smtp->mail($config{'user'});
# Кому?
$smtp->to(@recipients, {SkipBad => 1});
# Строим сообщение
foreach (@recipients) {
if(defined($rec)){
$rec = $rec . ", " . $_;
} else {
$rec = $_;
}
}
print $rec."\n";
$time = time2str("%a, %e %b %Y %T %z", time);
$headers = "From: Pinger <".$config{'user'}.">
To: ".$rec."
Subject: ".$config{'subject'}."
Date: ".$time."";
# Шлём
$smtp->data($headers . "\n" . $msg);
# Quit
$smtp->quit;
Можно, конечно, ещё MIME-теги вставить, кодировку, правильно сформировать тему письма если письмо не на латиннице написано. ..для этого вся инфа есть в гугле.
Скрипт был написан почти по примеру от Net::SMTP.