SMTP Send

David Pasek pasek at idc.cz
Wed Jan 30 04:42:28 CET 2002


Opravdu mi to nedalo spat, probouzel jsem se ze spani a tak jsem musel 
ve 4.00 rano vstat, odladit skriptik a napsat tento mail, kterym bych 
chtel ukoncit svoje prispevky k diskusi na toto tema.

Takze jeste jednou a znova od zacatku.

Potrebujes jednoduchou utilitku, ktera by ti mail ve formatu mbox (teda 
napr. to co ti prijde ze sendmailu do mail.local, a tak jak je to 
ulozeno v mailboxech  ve /var/mail/...) preposlala pres nejaky smtp 
server na nejakou adresu.

Chapu, sam jsem neco takoveho potreboval, kdyz jsem nechtel pouzit 
.forward pro presmerovani mailu a potreboval jeste dalsi funkcionalitu.
Tady je moje kompletni reseni, ktere je otestovane a funguje. Testovano 
i s multi-part mailama a prilohama.

######################################################################
#!/usr/bin/perl
use Net::SMTP;

if ( ($#ARGV + 1) != 3 ) {
  print "Usage: mailforward.pl SMTP EMAIL_FROM EMAIL_TO\n";
  exit;
}
 
$SMTP    = $ARGV[0]; $EMAIL_FROM = $ARGV[1]; $EMAIL_TO   = $ARGV[2];

$mbox=""; while (<STDIN>) {$mbox.=$_;}

$smtp = Net::SMTP->new($SMTP);
$smtp->mail($EMAIL_FROM);
$smtp->to($EMAIL_TO);
$smtp->data();
$smtp->datasend($mbox);
$smtp->dataend();
$smtp->quit;
exit;
#######################################################################

Jedine co potrebujes je PERL a perlovy modul libnet-1.0901, ktery si 
muzes stahnout z http://search.cpan.org/search?dist=libnet
Pouziti utility je zhruba podle tveho zadani:
cat test.mbox | ./mailforward.pl localhost pasek at idc.cz pasek at idc.cz

Pozn.:
Tento perlovy skript neni buhvi jak rychly, ani nema interaktivni menu, 
ani se neumi forkovat natoz vyuzivat sdilenou pamet nebo semafory.
Nepredpokladam, ze je to pro tebe dulezite. Dela proste to co asi chces :-)

Tomas TPS Ulej wrote:

>Nepoznate niekto nejaku hotovu ulilitu, ktora by mi zabespecila:
>
>./utilita mbox-like-email IP-smtp-serveru
>
>Utilita by sa mala spojit na IP-smtp-server a zaslat nan mail vo
>formate mbox
>
>Any idea?
>
>--
>TPS
>
>
>






More information about the Users-l mailing list