J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie
uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau
donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester :
Received: from mail.paradis.org ([10.100.2.2])
Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un
"receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne
([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent
donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original :
#
# Notify admin
sub warn_admin() {
my $output = shift;
open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") ||
do_exit($REGERR, __LINE__);
$SENDER = "(empty address)" if ($SENDER eq "<>");
print MAIL <<"EOF";
From: $mailfrom
To: $mailto
Subject: FOUND VIRUS IN MAIL from $SENDER
print MAIL <<"EOF";
Here are the headers:
------------------------- BEGIN HEADERS -----------------------------
EOF
$entity->print_header(\*MAIL);
print MAIL <<"EOF";
-------------------------- END HEADERS ------------------------------
EOF
close(MAIL);
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Luc Martineau
Olivier Exbrayat wrote:
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester : Received: from mail.paradis.org ([10.100.2.2]) Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un "receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne ([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original : # # Notify admin sub warn_admin() { my $output = shift; open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") || do_exit($REGERR, __LINE__); $SENDER = "(empty address)" if ($SENDER eq "<>"); print MAIL <<"EOF"; From: $mailfrom To: $mailto Subject: FOUND VIRUS IN MAIL from $SENDER print MAIL <<"EOF"; Here are the headers: ------------------------- BEGIN HEADERS ----------------------------- EOF $entity->print_header(*MAIL); print MAIL <<"EOF"; -------------------------- END HEADERS ------------------------------ EOF close(MAIL); }
Bonjour,
Je ne suis pas un pro de perl. Je débute avec ce langage.
En sopposant que $mailfrom contienne l'entête "Received: from..."
Faut bien sûr créer la fonction alerter_olivier...
Si je suis dans le champs, que l'on me flagelle et explique pourquoi.
Au revoir. Luc
Olivier Exbrayat wrote:
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie
uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau
donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester :
Received: from mail.paradis.org ([10.100.2.2])
Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un
"receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne
([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent
donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original :
#
# Notify admin
sub warn_admin() {
my $output = shift;
open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") ||
do_exit($REGERR, __LINE__);
$SENDER = "(empty address)" if ($SENDER eq "<>");
print MAIL <<"EOF";
From: $mailfrom
To: $mailto
Subject: FOUND VIRUS IN MAIL from $SENDER
print MAIL <<"EOF";
Here are the headers:
------------------------- BEGIN HEADERS -----------------------------
EOF
$entity->print_header(*MAIL);
print MAIL <<"EOF";
-------------------------- END HEADERS ------------------------------
EOF
close(MAIL);
}
Bonjour,
Je ne suis pas un pro de perl. Je débute avec ce langage.
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester : Received: from mail.paradis.org ([10.100.2.2]) Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un "receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne ([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original : # # Notify admin sub warn_admin() { my $output = shift; open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") || do_exit($REGERR, __LINE__); $SENDER = "(empty address)" if ($SENDER eq "<>"); print MAIL <<"EOF"; From: $mailfrom To: $mailto Subject: FOUND VIRUS IN MAIL from $SENDER print MAIL <<"EOF"; Here are the headers: ------------------------- BEGIN HEADERS ----------------------------- EOF $entity->print_header(*MAIL); print MAIL <<"EOF"; -------------------------- END HEADERS ------------------------------ EOF close(MAIL); }
Bonjour,
Je ne suis pas un pro de perl. Je débute avec ce langage.
En sopposant que $mailfrom contienne l'entête "Received: from..."
Faut bien sûr créer la fonction alerter_olivier...
Si je suis dans le champs, que l'on me flagelle et explique pourquoi.
Au revoir. Luc
Olivier Exbrayat
Merci pour ton aide c'est trés proche du résultat, il faut juste que je trouve comment accéder aux entêtes du messages.
La ligne qui affiche les headers du message "$entity->print_header(*MAIL);" n'est pas trés clair je ne retrouve pas la déclaration de print_header dans le source !!!
"Luc Martineau" a écrit dans le message de news:ozmSb.42139$
Olivier Exbrayat wrote:
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie
uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau
donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester : Received: from mail.paradis.org ([10.100.2.2]) Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un "receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne ([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent
donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original : # # Notify admin sub warn_admin() { my $output = shift; open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") || do_exit($REGERR, __LINE__); $SENDER = "(empty address)" if ($SENDER eq "<>"); print MAIL <<"EOF"; From: $mailfrom To: $mailto Subject: FOUND VIRUS IN MAIL from $SENDER print MAIL <<"EOF"; Here are the headers: ------------------------- BEGIN HEADERS ----------------------------- EOF $entity->print_header(*MAIL); print MAIL <<"EOF"; -------------------------- END HEADERS ------------------------------ EOF close(MAIL); }
Bonjour,
Je ne suis pas un pro de perl. Je débute avec ce langage.
En sopposant que $mailfrom contienne l'entête "Received: from..."
Faut bien sûr créer la fonction alerter_olivier...
Si je suis dans le champs, que l'on me flagelle et explique pourquoi.
Au revoir. Luc
Merci pour ton aide c'est trés proche du résultat, il faut juste que je
trouve comment accéder aux entêtes du messages.
La ligne qui affiche les headers du message
"$entity->print_header(*MAIL);" n'est pas trés clair je ne retrouve pas la
déclaration de print_header dans le source !!!
"Luc Martineau" <xurraj___nospam___@yahoo.ca> a écrit dans le message de
news:ozmSb.42139$mf4.1445145@news20.bellglobal.com...
Olivier Exbrayat wrote:
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il
m'envoie
uniquement les alertes lorsque l'ip de l'émetteur correspond à un
réseau
donné. Surement trés facile en perl mais je n'en connais pas assez
snifff
Exemple d'header à tester :
Received: from mail.paradis.org ([10.100.2.2])
Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un
"receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne
([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails
passent
donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original :
#
# Notify admin
sub warn_admin() {
my $output = shift;
open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") ||
do_exit($REGERR, __LINE__);
$SENDER = "(empty address)" if ($SENDER eq "<>");
print MAIL <<"EOF";
From: $mailfrom
To: $mailto
Subject: FOUND VIRUS IN MAIL from $SENDER
print MAIL <<"EOF";
Here are the headers:
------------------------- BEGIN HEADERS -----------------------------
EOF
$entity->print_header(*MAIL);
print MAIL <<"EOF";
-------------------------- END HEADERS ------------------------------
EOF
close(MAIL);
}
Bonjour,
Je ne suis pas un pro de perl. Je débute avec ce langage.
Merci pour ton aide c'est trés proche du résultat, il faut juste que je trouve comment accéder aux entêtes du messages.
La ligne qui affiche les headers du message "$entity->print_header(*MAIL);" n'est pas trés clair je ne retrouve pas la déclaration de print_header dans le source !!!
"Luc Martineau" a écrit dans le message de news:ozmSb.42139$
Olivier Exbrayat wrote:
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie
uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau
donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester : Received: from mail.paradis.org ([10.100.2.2]) Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un "receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne ([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent
donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original : # # Notify admin sub warn_admin() { my $output = shift; open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") || do_exit($REGERR, __LINE__); $SENDER = "(empty address)" if ($SENDER eq "<>"); print MAIL <<"EOF"; From: $mailfrom To: $mailto Subject: FOUND VIRUS IN MAIL from $SENDER print MAIL <<"EOF"; Here are the headers: ------------------------- BEGIN HEADERS ----------------------------- EOF $entity->print_header(*MAIL); print MAIL <<"EOF"; -------------------------- END HEADERS ------------------------------ EOF close(MAIL); }
Bonjour,
Je ne suis pas un pro de perl. Je débute avec ce langage.
En sopposant que $mailfrom contienne l'entête "Received: from..."
Faut bien sûr créer la fonction alerter_olivier...
Si je suis dans le champs, que l'on me flagelle et explique pourquoi.
Au revoir. Luc
dominix
Olivier Exbrayat wrote:
Merci pour ton aide c'est trés proche du résultat, il faut juste que je trouve comment accéder aux entêtes du messages.
Email::Simple fait cela très bien.
Maintenant, s'il vous plait. 1) postez a l'endroit = mettez le texte ajouté APRES celui du posteur précédent 2) ne citez PAS le message précédent au complet si ce nést pas utile
merci de respecter ces règles élémentaire de bienséance.
-- dominix
Olivier Exbrayat wrote:
Merci pour ton aide c'est trés proche du résultat, il faut juste que
je trouve comment accéder aux entêtes du messages.
Email::Simple fait cela très bien.
Maintenant, s'il vous plait.
1) postez a l'endroit = mettez le texte ajouté APRES celui du posteur
précédent
2) ne citez PAS le message précédent au complet si ce nést pas utile
merci de respecter ces règles élémentaire de bienséance.
Merci pour ton aide c'est trés proche du résultat, il faut juste que je trouve comment accéder aux entêtes du messages.
Email::Simple fait cela très bien.
Maintenant, s'il vous plait. 1) postez a l'endroit = mettez le texte ajouté APRES celui du posteur précédent 2) ne citez PAS le message précédent au complet si ce nést pas utile
merci de respecter ces règles élémentaire de bienséance.
-- dominix
Olivier Exbrayat
Voici le style de solution que j'ai trouvé pour mon probleme. Le code n'est surement pas trés élégant mais ca roule.
# # Notify admin sub warn_admin() {
# Sélection du destinataire selon l'adresse interne my $sendwarn ="false";
# Boucle sur les entetes "Received" du mail for (my $i = 0; $i < $entity->head()->count ( "Received") ; $i++) { my $received = $entity->head()->get( "Received", $i ); # Test si la ligne contient une adresse ip du stype 10.x.x.x if ( $received =~ /^from.+([10..{1,3}..{1,3}..{1,3}].+/ ) { $sendwarn = 'true'; } }
# Test si envoi du mail if ( $sendwarn == 'true' ) { ../..
Merci pour vos aides et à bientot.
Olivier
"Olivier Exbrayat" a écrit dans le message de news:bvc11p$3eo$
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester : Received: from mail.paradis.org ([10.100.2.2]) Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un "receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne ([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original : # # Notify admin sub warn_admin() { my $output = shift; open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") || do_exit($REGERR, __LINE__); $SENDER = "(empty address)" if ($SENDER eq "<>"); print MAIL <<"EOF"; From: $mailfrom To: $mailto Subject: FOUND VIRUS IN MAIL from $SENDER print MAIL <<"EOF"; Here are the headers: ------------------------- BEGIN HEADERS ----------------------------- EOF $entity->print_header(*MAIL); print MAIL <<"EOF"; -------------------------- END HEADERS ------------------------------ EOF close(MAIL); }
Voici le style de solution que j'ai trouvé pour mon probleme. Le code n'est
surement pas trés élégant mais ca roule.
#
# Notify admin
sub warn_admin() {
# Sélection du destinataire selon l'adresse interne
my $sendwarn ="false";
# Boucle sur les entetes "Received" du mail
for (my $i = 0; $i < $entity->head()->count ( "Received") ; $i++) {
my $received = $entity->head()->get( "Received", $i );
# Test si la ligne contient une adresse ip du stype 10.x.x.x
if ( $received =~ /^from.+([10..{1,3}..{1,3}..{1,3}].+/ ) {
$sendwarn = 'true';
}
}
# Test si envoi du mail
if ( $sendwarn == 'true' ) {
../..
Merci pour vos aides et à bientot.
Olivier
"Olivier Exbrayat" <oe@test.fr> a écrit dans le message de
news:bvc11p$3eo$1@news-reader3.wanadoo.fr...
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie
uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau
donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester :
Received: from mail.paradis.org ([10.100.2.2])
Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un
"receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne
([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent
donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original :
#
# Notify admin
sub warn_admin() {
my $output = shift;
open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") ||
do_exit($REGERR, __LINE__);
$SENDER = "(empty address)" if ($SENDER eq "<>");
print MAIL <<"EOF";
From: $mailfrom
To: $mailto
Subject: FOUND VIRUS IN MAIL from $SENDER
print MAIL <<"EOF";
Here are the headers:
------------------------- BEGIN HEADERS -----------------------------
EOF
$entity->print_header(*MAIL);
print MAIL <<"EOF";
-------------------------- END HEADERS ------------------------------
EOF
close(MAIL);
}
Voici le style de solution que j'ai trouvé pour mon probleme. Le code n'est surement pas trés élégant mais ca roule.
# # Notify admin sub warn_admin() {
# Sélection du destinataire selon l'adresse interne my $sendwarn ="false";
# Boucle sur les entetes "Received" du mail for (my $i = 0; $i < $entity->head()->count ( "Received") ; $i++) { my $received = $entity->head()->get( "Received", $i ); # Test si la ligne contient une adresse ip du stype 10.x.x.x if ( $received =~ /^from.+([10..{1,3}..{1,3}..{1,3}].+/ ) { $sendwarn = 'true'; } }
# Test si envoi du mail if ( $sendwarn == 'true' ) { ../..
Merci pour vos aides et à bientot.
Olivier
"Olivier Exbrayat" a écrit dans le message de news:bvc11p$3eo$
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau donné. Surement trés facile en perl mais je n'en connais pas assez snifff
Exemple d'header à tester : Received: from mail.paradis.org ([10.100.2.2]) Received: from mic1.paradis.org ([10.200.2.11])
Je voudrais qu'il m'envoie une alerte s'il trouve dans les headers un "receveid from" du réseau ([10.*.*.*]) sans tenir compte de la ligne ([10.100.2.2]) (c'est mon serveur relai de mail et tous les mails passent donc par la !) .
Merci pour tout exemple de code
Olivier
Voici le code original : # # Notify admin sub warn_admin() { my $output = shift; open(MAIL, "|$sendmail_wrapper $sendmail_wrapper_args -f$mailfrom") || do_exit($REGERR, __LINE__); $SENDER = "(empty address)" if ($SENDER eq "<>"); print MAIL <<"EOF"; From: $mailfrom To: $mailto Subject: FOUND VIRUS IN MAIL from $SENDER print MAIL <<"EOF"; Here are the headers: ------------------------- BEGIN HEADERS ----------------------------- EOF $entity->print_header(*MAIL); print MAIL <<"EOF"; -------------------------- END HEADERS ------------------------------ EOF close(MAIL); }
dominix
Olivier Exbrayat wrote:
Voici le style de solution que j'ai trouvé pour mon probleme. Le code n'est surement pas trés élégant mais ca roule.
...
Merci pour vos aides et à bientot.
Olivier
"Olivier Exbrayat" a écrit dans le message de news:bvc11p$3eo$
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau donné. ...
Merci pour tout exemple de code
Olivier
comment veux tu que l'on te donne d'autres conseils lorsque tu ne suis pas ceux de base:
1) postez a l'endroit = mettez le texte ajouté APRES celui du posteur précédent 2) ne citez PAS le message précédent au complet si ce n'est pas utile
NB: la regex devrais plutot etre /^from.+([10.d{1,3}.d{1,3}.d{1,3}].+/
mes 0.02
-- dominix
Olivier Exbrayat wrote:
Voici le style de solution que j'ai trouvé pour mon probleme. Le code
n'est surement pas trés élégant mais ca roule.
...
Merci pour vos aides et à bientot.
Olivier
"Olivier Exbrayat" <oe@test.fr> a écrit dans le message de
news:bvc11p$3eo$1@news-reader3.wanadoo.fr...
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il
m'envoie uniquement les alertes lorsque l'ip de l'émetteur
correspond à un réseau donné.
...
Merci pour tout exemple de code
Olivier
comment veux tu que l'on te donne d'autres conseils lorsque tu ne suis pas
ceux de base:
1) postez a l'endroit = mettez le texte ajouté APRES celui du posteur
précédent
2) ne citez PAS le message précédent au complet si ce n'est pas utile
NB: la regex devrais plutot etre
/^from.+([10.d{1,3}.d{1,3}.d{1,3}].+/
Voici le style de solution que j'ai trouvé pour mon probleme. Le code n'est surement pas trés élégant mais ca roule.
...
Merci pour vos aides et à bientot.
Olivier
"Olivier Exbrayat" a écrit dans le message de news:bvc11p$3eo$
Salut,
J'ai besoin de modifier l'antivirus de mail amavis. Je veux qu'il m'envoie uniquement les alertes lorsque l'ip de l'émetteur correspond à un réseau donné. ...
Merci pour tout exemple de code
Olivier
comment veux tu que l'on te donne d'autres conseils lorsque tu ne suis pas ceux de base:
1) postez a l'endroit = mettez le texte ajouté APRES celui du posteur précédent 2) ne citez PAS le message précédent au complet si ce n'est pas utile
NB: la regex devrais plutot etre /^from.+([10.d{1,3}.d{1,3}.d{1,3}].+/