Bonjour tout le monde, je vais tenter d'expliquer le plus clairement
possible mon problème qui est un peu complexe.
Je veux installer un serveur SMTP qui gère plusieurs domaines. Les
domaines à gérer sont les suivants :
- domain.com
- domain.net
- example.com
- other.com
Le domaine "domain.net" n'est en réalité qu'un alias vers le domaine
"domain.com". Ce qui veut dire que tout mail à destination de
toto@domain.net sera envoyé sur la boite aux lettres de toto@domain.com.
Jusque là tout va bien. Etant donné le grand nombre boites à lettre que
je veux gérer, j'utilise la base de données MySQL pour simplifier toutes
les opérations (ajout de boites au lettres, d'alias, d'alias de domaines
, ...). Toutes les personnes qui utilisent ce serveur de mail n'ont pas
de compte sur la machine, et je ne veux pas qu'elles en aient. J'utilise
donc le système de boites au lettres virtuelles.
La table pour les alias est la table alias, celle pour les domaines est
la table domain et celle pour les boites aux lettres est la boite mailbox.
Tout cela fonctionne. Cependant les problèmes arrivent maintenant (enfin !).
Je veux que tous les messages qui arrivent à destination d'un
utilisateur inconnu, mais dans un domaine que je gère soient envoyés
dans une boite au lettre particulière. Pour faire cela, je procède de
cette facon :
Comment puis je procéder avec ce système pour que l'utilisateur
spam@domain.com soit totalement ignoré ?
J'ai bien essayé de rajouter une ligne du type :
Table alias :
alias | goto
---------------------------------------
spam@domain.com | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou
encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme
"virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme
vous choque, merci de m'en faire part.
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
Olivier Macchioni
On Mon, 25 Aug 2003 16:32:35 +0200, ben64 wrote:
[...]
unknown étant une boite au lettre particulière.
Comment puis je procéder avec ce système pour que l'utilisateur soit totalement ignoré ? J'ai bien essayé de rajouter une ligne du type :
Table alias : alias | goto --------------------------------------- | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme "virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme vous choque, merci de m'en faire part.
Je fais quelque chose d'un peu différent : j'ai une liste d'adresses locales 'blacklistées' parce qu'elles ne recevaient plus que du spam. J'ai donc décidé que tout mail envoyé sur une de ces adresses se solde par une erreur 554.
La configuration est la suivante (j'ai rajouté une table) :
mysql> desc RecipientAccess; +-----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+-------+ | Recipient | varchar(255) | | PRI | | | | Message | varchar(255) | | | | | +-----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
mysql> select * from RecipientAccess; +------------------+----------------------------------+ | Recipient | Message | +------------------+----------------------------------+ | | No more SPAM to this address | [...]
user = xxx password = xxx dbname = xxx table = RecipientAccess select_field = CONCAT("554 ", Message) where_field = Recipient hosts = localhost additional_conditions Voilàvoilà... je sais que ça répond pas à ton problème, mais en tout cas les mails n'arriveront plus sur ton serveur.
Olivier
On Mon, 25 Aug 2003 16:32:35 +0200, ben64 <benoit@pibi-sa.net> wrote:
[...]
unknown étant une boite au lettre particulière.
Comment puis je procéder avec ce système pour que l'utilisateur
spam@domain.com soit totalement ignoré ?
J'ai bien essayé de rajouter une ligne du type :
Table alias :
alias | goto
---------------------------------------
spam@domain.com | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou
encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme
"virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme
vous choque, merci de m'en faire part.
Je fais quelque chose d'un peu différent : j'ai une liste d'adresses
locales 'blacklistées' parce qu'elles ne recevaient plus que du spam.
J'ai donc décidé que tout mail envoyé sur une de ces adresses se solde
par une erreur 554.
La configuration est la suivante (j'ai rajouté une table) :
mysql> desc RecipientAccess;
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| Recipient | varchar(255) | | PRI | | |
| Message | varchar(255) | | | | |
+-----------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> select * from RecipientAccess;
+------------------+----------------------------------+
| Recipient | Message |
+------------------+----------------------------------+
| blacklist@domaine.fr | No more SPAM to this address |
[...]
user = xxx
password = xxx
dbname = xxx
table = RecipientAccess
select_field = CONCAT("554 ", Message)
where_field = Recipient
hosts = localhost
additional_conditions
Voilàvoilà... je sais que ça répond pas à ton problème, mais en tout
cas les mails n'arriveront plus sur ton serveur.
Comment puis je procéder avec ce système pour que l'utilisateur soit totalement ignoré ? J'ai bien essayé de rajouter une ligne du type :
Table alias : alias | goto --------------------------------------- | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme "virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme vous choque, merci de m'en faire part.
Je fais quelque chose d'un peu différent : j'ai une liste d'adresses locales 'blacklistées' parce qu'elles ne recevaient plus que du spam. J'ai donc décidé que tout mail envoyé sur une de ces adresses se solde par une erreur 554.
La configuration est la suivante (j'ai rajouté une table) :
mysql> desc RecipientAccess; +-----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+-------+ | Recipient | varchar(255) | | PRI | | | | Message | varchar(255) | | | | | +-----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
mysql> select * from RecipientAccess; +------------------+----------------------------------+ | Recipient | Message | +------------------+----------------------------------+ | | No more SPAM to this address | [...]
user = xxx password = xxx dbname = xxx table = RecipientAccess select_field = CONCAT("554 ", Message) where_field = Recipient hosts = localhost additional_conditions Voilàvoilà... je sais que ça répond pas à ton problème, mais en tout cas les mails n'arriveront plus sur ton serveur.
Olivier
ben64
Effectivement ca ne répond pas, mais c'est une solution encore meilleure :) Donc merci beaucoup. Sinon la solution d'Olivier Tharan permet effectivement de faire ce que je voulais. Merci à vous deux.
Benoît
Olivier Macchioni wrote:
On Mon, 25 Aug 2003 16:32:35 +0200, ben64 wrote:
[...]
unknown étant une boite au lettre particulière.
Comment puis je procéder avec ce système pour que l'utilisateur soit totalement ignoré ? J'ai bien essayé de rajouter une ligne du type :
Table alias : alias | goto --------------------------------------- | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme "virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme vous choque, merci de m'en faire part.
Je fais quelque chose d'un peu différent : j'ai une liste d'adresses locales 'blacklistées' parce qu'elles ne recevaient plus que du spam. J'ai donc décidé que tout mail envoyé sur une de ces adresses se solde par une erreur 554.
La configuration est la suivante (j'ai rajouté une table) :
mysql> desc RecipientAccess; +-----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+-------+ | Recipient | varchar(255) | | PRI | | | | Message | varchar(255) | | | | | +-----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
mysql> select * from RecipientAccess; +------------------+----------------------------------+ | Recipient | Message | +------------------+----------------------------------+ | | No more SPAM to this address | [...]
user = xxx password = xxx dbname = xxx table = RecipientAccess select_field = CONCAT("554 ", Message) where_field = Recipient hosts = localhost additional_conditions > Voilàvoilà... je sais que ça répond pas à ton problème, mais en tout cas les mails n'arriveront plus sur ton serveur.
Olivier
Effectivement ca ne répond pas, mais c'est une solution encore meilleure
:) Donc merci beaucoup.
Sinon la solution d'Olivier Tharan permet effectivement de faire ce que
je voulais. Merci à vous deux.
Benoît
Olivier Macchioni wrote:
On Mon, 25 Aug 2003 16:32:35 +0200, ben64 <benoit@pibi-sa.net> wrote:
[...]
unknown étant une boite au lettre particulière.
Comment puis je procéder avec ce système pour que l'utilisateur
spam@domain.com soit totalement ignoré ?
J'ai bien essayé de rajouter une ligne du type :
Table alias :
alias | goto
---------------------------------------
spam@domain.com | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou
encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme
"virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme
vous choque, merci de m'en faire part.
Je fais quelque chose d'un peu différent : j'ai une liste d'adresses
locales 'blacklistées' parce qu'elles ne recevaient plus que du spam.
J'ai donc décidé que tout mail envoyé sur une de ces adresses se solde
par une erreur 554.
La configuration est la suivante (j'ai rajouté une table) :
mysql> desc RecipientAccess;
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| Recipient | varchar(255) | | PRI | | |
| Message | varchar(255) | | | | |
+-----------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> select * from RecipientAccess;
+------------------+----------------------------------+
| Recipient | Message |
+------------------+----------------------------------+
| blacklist@domaine.fr | No more SPAM to this address |
[...]
user = xxx
password = xxx
dbname = xxx
table = RecipientAccess
select_field = CONCAT("554 ", Message)
where_field = Recipient
hosts = localhost
additional_conditions >
Voilàvoilà... je sais que ça répond pas à ton problème, mais en tout
cas les mails n'arriveront plus sur ton serveur.
Effectivement ca ne répond pas, mais c'est une solution encore meilleure :) Donc merci beaucoup. Sinon la solution d'Olivier Tharan permet effectivement de faire ce que je voulais. Merci à vous deux.
Benoît
Olivier Macchioni wrote:
On Mon, 25 Aug 2003 16:32:35 +0200, ben64 wrote:
[...]
unknown étant une boite au lettre particulière.
Comment puis je procéder avec ce système pour que l'utilisateur soit totalement ignoré ? J'ai bien essayé de rajouter une ligne du type :
Table alias : alias | goto --------------------------------------- | |/usr/bin/ignore
/usr/bin/ignore étant un programme qui ignore tout simplement le mail ou encore mieux qui effectue une action précise.
Cependant l'execution de programmes ne peut être faite par le programme "virtual" (le programme "local" le peut).
Si vous avez un conseil, une idée, ou si quelque chose dans ce mécanisme vous choque, merci de m'en faire part.
Je fais quelque chose d'un peu différent : j'ai une liste d'adresses locales 'blacklistées' parce qu'elles ne recevaient plus que du spam. J'ai donc décidé que tout mail envoyé sur une de ces adresses se solde par une erreur 554.
La configuration est la suivante (j'ai rajouté une table) :
mysql> desc RecipientAccess; +-----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+-------+ | Recipient | varchar(255) | | PRI | | | | Message | varchar(255) | | | | | +-----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
mysql> select * from RecipientAccess; +------------------+----------------------------------+ | Recipient | Message | +------------------+----------------------------------+ | | No more SPAM to this address | [...]
user = xxx password = xxx dbname = xxx table = RecipientAccess select_field = CONCAT("554 ", Message) where_field = Recipient hosts = localhost additional_conditions > Voilàvoilà... je sais que ça répond pas à ton problème, mais en tout cas les mails n'arriveront plus sur ton serveur.