Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Filtrar+correo+internacional+exim

7 views
Skip to first unread message

elav

unread,
Sep 23, 2009, 11:44:31 AM9/23/09
to
Saludos:
Por más que he buscado no he encontrado como hacer lo siguiente:
Tengo un monstado un servidor de correo con Exim autenticando contra
LDAP y quiero que solo un grupo de usuarios tenga la posibilidad de
enviar y recibir correos internacional...

¿Alguien sabe como hace resto?

Jos� Luis P�rez Diez

unread,
Sep 28, 2009, 6:41:13 AM9/28/09
to
In article
<97700bbb-60d1-4b10...@m11g2000vbl.googlegroups.com>,
Elav wrote:
> Exim autenticando contra
> LDAP y quiero que solo un grupo de usuarios tenga la posibilidad de
> enviar y recibir correos internacional...
>
> �Alguien sabe como hace resto?
>

Si nos explicas que es correos internacional ... Puede ser que alguien
te ayude.

--
Menos mal que IP no es IP( Intelectual Property)

elav

unread,
Oct 13, 2009, 3:41:26 PM10/13/09
to
On 28 sep, 06:41, José Luis Pérez Diez
<jl...@agujeronegro.escomposlinux.org> wrote:
> In article
> <97700bbb-60d1-4b10-a163-161ecf9bc...@m11g2000vbl.googlegroups.com>,

Digamos que lo que quiero hacer es que solo un grupo de usuarios que
yo selecciones pueda enviar correos a dominios como yahoo.es,
gmail.com..etc y los demás que solo tengan acceso nacional y local....

Jos� Luis P�rez Diez

unread,
Oct 21, 2009, 6:13:02 AM10/21/09
to
elav perdona que conteste tarde ( una semana sin red :)
In article
<165c3658-56e4-45c1...@k33g2000yqa.googlegroups.com>,
Elav wrote:
> Digamos que lo que quiero hacer es que solo un grupo de usuarios que
> yo selecciones pueda enviar correos a dominios como yahoo.es,
> gmail.com..etc y los dem�s que solo tengan acceso nacional y local....
>

Quieres que unas direcciones de correo no puedan enviar mas que a
ciertos dominios.

El problema es �que direcciones de pertenecen al grupo nacional? �La
tuya de google esta en ese grupo? �La universidad local con top domain
edu? �Tu lug con org?

El grupo con solo correo local es trivial basta con desahbilitar el
relay para esas cuentas.

elav

unread,
Oct 21, 2009, 7:02:02 AM10/21/09
to
On 21 oct, 06:13, José Luis Pérez Diez

<jl...@agujeronegro.escomposlinux.org> wrote:
> elav perdona que conteste tarde ( una semana sin red :)
> In article
> <165c3658-56e4-45c1-ac8d-e7dd6a05e...@k33g2000yqa.googlegroups.com>,

>
> Elav wrote:
> > Digamos que lo que quiero hacer es que solo un grupo de usuarios que
> > yo selecciones pueda enviar correos a dominios como yahoo.es,
> > gmail.com..etc y los demás que solo tengan acceso nacional y local....

>
> Quieres que unas direcciones de correo no puedan enviar mas que a
> ciertos dominios.
>
> El problema es ¿que direcciones de pertenecen al grupo nacional? ¿La
> tuya de google esta en ese grupo? ¿La universidad local con top domain
> edu? ¿Tu lug con org?
>
> El grupo con solo correo local es trivial basta con desahbilitar el
> relay para esas cuentas.
>
> --
> Menos mal que  IP no es IP( Intelectual Property)

Exactamente, por ejemplo yo como administrador si puedo enviar correos
a dominios .com, .net así como los usuarios autorizados para ello,
pero hay otro grupo que solo puede envíar correos digamos .cu

Me gustaría que me mostraras la forma de hacerlo. Ya logré más o menos
lo que quería pero usando un script de perl...

Te lo voy a agradecer.

Jos� Luis P�rez Diez

unread,
Oct 22, 2009, 9:56:41 AM10/22/09
to
In article
<366273ac-a7fa-41c2...@o13g2000vbl.googlegroups.com>,
Elav wrote:
> Exactamente, por ejemplo yo como administrador si puedo enviar correos
> a dominios .com, .net as� como los usuarios autorizados para ello,
> pero hay otro grupo que solo puede env�ar correos digamos .cu
>
> Me gustar�a que me mostraras la forma de hacerlo. Ya logr� m�s o menos
> lo que quer�a pero usando un script de perl...

>
> Te lo voy a agradecer.
>

Mira http://www.exim.org/howto/relay.html y
http://www.exim.org/exim-html-4.20/doc/html/spec_37.html
y asegurate que bloqueas en el corafuegos las salidas a los servicios
smpt que no tengan origen en tu servidor.

elav

unread,
Oct 23, 2009, 7:02:23 AM10/23/09
to
On 22 oct, 09:56, José Luis Pérez Diez
<jl...@agujeronegro.escomposlinux.org> wrote:
> In article
> <366273ac-a7fa-41c2-b891-88d0ed844...@o13g2000vbl.googlegroups.com>,

>
> Elav wrote:
> > Exactamente, por ejemplo yo como administrador si puedo enviar correos
> > a dominios .com, .net así como los usuarios autorizados para ello,
> > pero hay otro grupo que solo puede envíar correos digamos .cu
>
> > Me gustaría que me mostraras la forma de hacerlo. Ya logré más o menos
> > lo que quería pero usando un script de perl...

>
> > Te lo voy a agradecer.
>
> Mirahttp://www.exim.org/howto/relay.htmlyhttp://www.exim.org/exim-html-4.20/doc/html/spec_37.html

> y asegurate que bloqueas en el corafuegos las salidas a los servicios
> smpt que no tengan origen en tu servidor.
>
> --
> Menos mal que  IP no es IP( Intelectual Property)

Ok. Veré esos enlaces. Muchas gracias, luego te cuento.

elav

unread,
Dec 20, 2009, 11:14:14 AM12/20/09
to
Bueno antes que nada disculparme por no escribir antes. Te cuento que
resolví todo esto con un script en perl, aquí se los dejo por si
alguien lo necesita:

##
## -*- Mode: Perl; indent-tabs-mode: t; c-basic-offset: 4; tab-width:
4 -*-
##
## perl_code.pl
## Copyright (C) Leinier C. Salfran 2009 <salf...@yahoo.es>
##
## perl_code.pl is free software: you can redistribute it and/or
modify it
## under the terms of the GNU General Public License as published by
the
## Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## perl_code.pl is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
## See the GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
along
## with this program. If not, see <http://www.gnu.org/licenses/> or
write
## to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Floor
## Boston, MA 02110-1301, USA
##

use POSIX;

#
# Variables globales
my $global_dominio = 'midominio';

#
# ID de los grupos
my $grupo_correo_nacional = "correo-nacional";
my $grupo_correo_internacional = "correo-internacional";

#
# Valores del tamano de envio
my $tamano_mensaje_nacional = 1048576;
my $tamano_mensaje_internacional = 716800;


sub UsuarioPerteneceAlGrupo
{
my $grupo = shift;
my $usuario = shift;
($nombre,$contrasena,$gid,$miembros) = getgrnam($grupo);

if ($miembros =~ m/$usuario/x) { return 1; }

return 0;
}

sub obtenerusuariodesdecorreo
{
($usuario, $dominio) = split('@', shift);

return $usuario;
}

sub obtenerdominiodesdecorreo
{
($usuario, $dominio) = split('@', shift);

return $dominio;
}

sub obtenerdominio1erniveldesdedominio
{
my $dominio = shift;
my $dominio1ernivel = (substr($dominio, -4, 1) eq '.' ? substr
($dominio, -3) : substr($dominio, -2));

return $dominio1ernivel;
}

sub estadirigidoalista
{
my $remitente_dominio = shift;
my $dominio = shift;

if ($remitente_dominio eq "listas.". $global_dominio) { return
1; }
if ($remitente_dominio eq "listas.". $global_dominio) { return
1; }
if ($remitente_dominio eq "listas.". $global_dominio) { return
1; }
if ($remitente_dominio eq "listas.". $global_dominio) { return
1; }
if ($dominio eq "listas.". $global_dominio) { return 1; }
if ($dominio eq "listas.in.". $global_dominio) { return 1; }
if ($dominio eq "listas.el.". $global_dominio) { return 1; }
if ($dominio eq "listas.gd.". $global_dominio) { return 1; }

return 0;
}

sub obtenerpermisoenvio
{
my $remitente = Exim::expand_string('$sender_address');
my $remitente_dominio = Exim::expand_string
('$sender_address_domain');
my $dominio = Exim::expand_string('$domain');

if (estadirigidoalista($remitente_dominio, $dominio)) { return
true; }

my $usuario = obtenerusuariodesdecorreo($remitente);
my $dominio1ernivel = obtenerdominio1erniveldesdedominio
($dominio);
my $resultado = false;

if ($dominio eq $global_dominio)
{
return true;
} else {
if ($dominio1ernivel eq "cu")
{
if (UsuarioPerteneceAlGrupo($grupo_correo_internacional,
$usuario)) { return true; }
if (UsuarioPerteneceAlGrupo($grupo_correo_nacional, $usuario))
{ return true; }

return "El usuario '$usuario' no posee privilegios
suficientes para enviar correo al dominio especificado: $dominio";
} else {
if (UsuarioPerteneceAlGrupo($grupo_correo_internacional,
$usuario)) { return true; }

return "El usuario '$usuario' no posee privilegios
suficientes para enviar correo al dominio especificado: $dominio";
}
}

return "El usuario '$usuario' no posee privilegios para enviar
correo que no sea local: 'ipigto.rimed.cu'.";
}

sub mensajetamanopermitido
{
my $remitente = Exim::expand_string('$sender_address');
my $remitente_dominio = Exim::expand_string
('$sender_address_domain');
my @destinatarios = split(', ', Exim::expand_string
('$recipients'));
my $tamano = Exim::expand_string('$message_size');

my $usuario = obtenerusuariodesdecorreo($remitente);
my $dominio1ernivel = obtenerdominio1erniveldesdedominio
($dominio);

if ($remitente_dominio ne $global_dominio)
{
return true;
}

for (my $i = 0; $i < scalar(@destinatarios); $i++)
{
if (obtenerdominiodesdecorreo($destinatarios[$i]) ne $global_dominio)
{
if (obtenerdominio1erniveldesdedominio
(obtenerdominiodesdecorreo($destinatarios[$i])) eq "cu")
{
if ($tamano > $tamano_mensaje_nacional)
{
return "El mensaje ha superado el limite de tamano (".
($tamano_mensaje_nacional / 1024) ."KB) para el destino especificado:
'$destinatarios[$i]'.";
}
}
else
{
if ($tamano > $tamano_mensaje_internacional)
{
return "El mensaje ha superado el limite de tamano (".
($tamano_mensaje_internacional / 1024) ."KB) para el destino
especificado: '$destinatarios[$i]'.";
}
}
}
}

return true;
}

Gonzalo Pérez de Olaguer Córdoba

unread,
Dec 21, 2009, 4:28:18 PM12/21/09
to
Hola elav <el...@ipichcb.rimed.cu>
el Sun, 20 Dec 2009 08:14:14 -0800 (PST) escribiste:

> Bueno antes que nada disculparme por no escribir antes. Te cuento que
> resolví todo esto con un script en perl, aquí se los dejo por si
> alguien lo necesita:

Espero no ser pedante por ello, pero te recomiendo que al dar nombres
tan largos a las funciones separes_las_palabras_con_subrayado
o bien CapitalicesCadaPalabra. Resulta maś fácil de leer.

--
Gonzalo Pérez de Olaguer Córdoba <gp...@iies.es> --- www.gpoc.es
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704

elav

unread,
Dec 23, 2009, 3:45:14 PM12/23/09
to
On 21 dic, 16:28, Gonzalo Pérez de Olaguer Córdoba <g...@iies.es>
wrote:
> Hola elav <e...@ipichcb.rimed.cu>

> el Sun, 20 Dec 2009 08:14:14 -0800 (PST) escribiste:
>
> > Bueno antes que nada disculparme por no escribir antes. Te cuento que
> > resolví todo esto con un script en perl, aquí se los dejo por si
> > alguien lo necesita:
>
> Espero no ser pedante por ello, pero te recomiendo que al dar nombres
> tan largos a las funciones separes_las_palabras_con_subrayado
> o bien CapitalicesCadaPalabra. Resulta maś fácil de leer.
>
> --
> Gonzalo Pérez de Olaguer Córdoba <g...@iies.es> ---www.gpoc.es

> PGP key 2861C704 --- F206 5671 6789 425D 111C  1302 214F 1934 2861 C704

No entiendo que quieres decir.

Gonzalo Pérez de Olaguer Córdoba

unread,
Dec 23, 2009, 5:10:35 PM12/23/09
to
Hola elav <el...@ipichcb.rimed.cu>
el Wed, 23 Dec 2009 12:45:14 -0800 (PST) escribiste:

Que resulta más fácil de leer si en vez de usar nombres de funciones
como éste:

obtenerusuariodesdecorreo

les pones nombres como éstos:

obtener_usuario_desde_correo

o bien

ObtenerUsuarioDesdeCorreo

Nada, un detalle nomás :-)

--
Gonzalo Pérez de Olaguer Córdoba <gp...@iies.es> --- www.gpoc.es

0 new messages