Ola gente,

Por favor... alguem tire minha duvida... falta apenas isto para
eu terminar o meu scriptzinho! :(
A funcao dele eh cadastrar emails virtuais dos usuarios no
sistema...

A parte que gerencia o arquivo VIRTUAL do Postfix funciona
que eh uma beleza...

        $addr = "$tuser\@$domain";
        $aliasaddr = "$tuser~$domain";

        open VIRTUAL, $virtualfile or die "Can't open
$virtualfile: $!\n";
        my @virtual = <VIRTUAL>;
        close (VIRTUAL);

        open VIRTUAL, ">$virtualfile" or die "Can't open
$virtualfile: $!\n";
        my $waslastv;
        my $writtenv;

        foreach (@virtual)
        {
            /([^\s]+)(\s+)(.+)/;
            my ($user, $host) = split('@',$1);
            if ($host eq $domain)
            {
                $waslastv = 1;
            }
            if ($waslastv == 1 && $_ !~ /$domain/)
            {
                if ($writtenv != 1)
                {
                    $writtenv = 1;
                    write VIRTUAL;
                    print VIRTUAL;
                    next;
                }
            }
            print VIRTUAL;
        }
        close(VIRTUAL);

O problema eh a funcao do arquivo ALIASES, pois o ALIASES tem um
: no final... veja:

        $alias = "$tuser~$domain:";
        $aliasdir = "/var/spool/virtual/$domain/$tuser";

        open ALIASES, $aliasesfile or die "Can't open
$aliasesfile: $!\n";
        my @aliases = <ALIASES>;
        close (ALIASES);

        open ALIASES, ">$aliasesfile" or die "Can't open
$aliasesfile: $!\n";
        my $waslasta;
        my $writtena;

        foreach (@aliases)
        {
            /([^\s]+)(\s+)(.+)/;
            my ($user, $host) = split('~',$1);
            if ($host eq $domain)
            {
                $waslasta = 1;
            }
            if ($waslasta == 1 && $_ !~ /$domain/)
            {
                if ($writtena != 1)
                {
                    $writtena = 1;
                    write ALIASES;
                    print ALIASES;
                    next;
                }
            }
            print ALIASES;
        }
        close(ALIASES);

Notem que o $alias = tem um : no final do $domain... se eu
remover o : ele funciona legal... mas o aliases necessita desses
: no final do aliases.... :( Alguem pode ajudar?
Ja estou com a cabeca tao cheia que mal consigo pensar direito!
:( Nao faco ideia do que seja... :<

PS: Tem alguem interessado em me ajudar a terminar e melhorar
esse scriptzinho? (ideal para provedores dom WebHosting usando
Postfix e VM-POP3D)


Assinantes em 21/10/2002: 2220
Mensagens recebidas desde 07/01/1999: 187487
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:linux-br-owner@;bazar.conectiva.com.br

Responder a