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