mail a charset

Ivo Panacek ivop na regionet.cz
Pátek Březen 1 12:47:53 CET 2002


On Pá, 2002-03-01 at 12:41, Martin Pus wrote:
> Muze mi nekdo poradit, kdyz potrebuju automaticky (neinteraktivne) odesilat
> e-mailem urcite zpravy, jaky jednoduchy program pouzit, aby v hlavicce
> zpravy bylo mozne nastavit charset=ISO-8859-2 ? Zatim jsem zkousel klasicky
> program mail, kde sice existuje prepinac -m , ale tim lze nastavit
> message-type nikoliv content-type a dale jsem zkousel pine, kde lze charset
> nastavit, ale zase se mi nezda vhodny pro neinteraktivni pouziti.
> 
> Za kazdy podmet dekuji.
> 
> Martin Pus

Ja pouzivam rovnou sendmail (tedy tu binarku na odesilani, kterou
postaci mivaji a takhle ji pojmenovavaji).

Priklad (kousky perloveho zdrojaku):

...
$tmp = '/tmp/tmpmail.'.$$;
open( F, '>'.$tmp );
printf F "From: %s\n", $sender;
printf F "To: %s\n", $recipient;
printf F "Date: %s\n", strftime( "%a, %d %b %Y %H:%M:%S %Z",
                       localtime($time));
printf F "MIME-Version: 1.0\n";
printf F "Content-Type: text/plain; charset=iso-8859-2\n";
printf F "Content-Transfer-Encoding: 8bit\n";
printf F "Subject: %s\n", $subject;
printf F "\n";
... ted tam dat nejake telo ...
close( F );

$sendmail = '';
foreach ( '/usr/sbin', '/usr/lib', split( /:/, $ENV{ 'PATH' } ) ) {
    $sm = $_.'/sendmail';
    if( -x $sm ) {
        $sendmail = $sm;
        last;
    }
}

if( -x $sendmail ) {
    $cmd = $sendmail.' <'.$tmp.' '.$recipient.' > /dev/null 2>&1';
    system( $cmd );
} else {
    printf STDERR "Sendmail missing, cannot send\n";
}
unlink( $tmp );

ivo
-- 
E-mail: Ivo.Panacek na jlabs.cz
WWW:    http://ivop.regionet.cz
Mobile: +420 602 337776



Další informace o konferenci Linux