Quel est le mécanisme de SMTP via rcpthosts ?

Bonjour !

Je suis en train de régler mon serveur de messagerie, par rapport à mon dernier post, et je me pose des questions sur le mode de fonctionnement de mon serveur de messagerie via rcpthosts.

J’ai cru comprendre que la liste de domaines que j’ai mis dans rcpthosts devait être la liste de tous les domaines que j’autorisais à utiliser mon serveur de messagerie. J’ai donc mis la liste de tous mes clients qui sont hébergés sur mon serveur, et qui utilisent mon serveur de messagerie, comme le montre la liste en bas de ce message.

Et bien sûr, je me suis déclaré moi-même, dans cette liste.

Par ailleurs, j’utilise Outlook, que j’ai paramétré avec le SMTP de mon serveur de messagerie, car j’habite au Maroc, et le SMTP de mon opérateur n’est pas fiable.

Et j’ai vu ce matin que je ne pouvais plus envoyer des messages par outlook, si le domaine de mes correspondants destinataires n’étaient pas déclarés dans RCPTHOTS. Exemple :

Certains des destinataires ou tous les destinataires n’ont pas reçu votre message.
Objet : Test de messagerie
Date : 22/12/2011 07:09
Impossible de contacter le(s) destinataire(s) suivant(s) :
'infos@bstiddsmurs.com’ le 22/12/2011 07:10
553 sorry, that domain isn’t in my list of allowed rcpthosts (#5.7.1)

Et effectivement, mon client “bstiddsmurs.com” n’est pas hébergé sur mon serveur et je ne l’ai pas déclaré dans RCPTHOSTS.

Il en va de même pour mes correspondants sur yahoo, free, etc. qui me revenaient en erreur avant que je n’ajoute “yahoo.fr” et “free.fr” dans RCPTHOSTS. Ce qui me semble une bêtise, non ?

J’ai l’impression que je n’ai pas tout compris dans le fonctionnement de RCPTHOSTS. Quelqu’un pourrait-il m’éclairer ?

Déjà, juste un truc : Mon serveur m’autorise à envoyer des messages, car je suis déclaré dans RCPTHOSTS. Mais pourquoi je ne peux pas envoyer des messages à n’importe qui ?

Merci beaucoup et bonne journée à tous !

Charles

Contenu de mon fichier RCPTHOSTS :

lmtr.cm
lxndr-gmb.fr
brglclsjmc.fr
bllvst.fr
cstllrs-prds.cm
cstlm.fr
chmbr-d-hts-mntpllr.fr
chmbr-ht-n-prvnc.cm
chmbrs-hts-n-frnc.cm
chntrn.nt
chtdldv.fr
cht-zt.cm
cls-d-l-brbnn.fr
cmptr-lgn.cm
cybrlg.cm
fntcbrt.fr
fntpss.cm
frnc-blds.cm
frnc-blds.fr
fr.fr
gt-d-mln.
gt-ltrll.fr
html.cm
html.fr
jrdndsrss.fr
krmrn.cm
lcglr.cm
l-grntr.fr
l-hrsr.cm
l-mgln.fr
l-rmrn-d-cmdll.fr
ldmnlcst.cm
ldmnlcst.fr
l-fvln.fr
l-prfm-bl.fr
ls3pttspmmrs.fr
lshtsdlvclrs.fr
l-srs.fr
lstrsdphns.fr
ms-ds-zrs.fr
ms-vl-chn.cm
mnr.m



rdbs-slgn.cm
prnthz.fr
phlgrmmnt.cm
sjp.cm
n-chmbr.fr
n-lctn.fr
n-gt.fr
vnt-pprtmnt-tln-vr.cm
vnt-cht-frnc.fr
vllrdtmps.cm
vll-mrstll.fr
wnd.fr
yh.fr

NB. Je ne sais pas si cette page est référençable sur Google, alors j’ai enlevé les voyelles.

Lorsque le fichier rcpthosts existe, qmail-smtpd refusera tout tes Email si le domaine de ton destinataire ne figure pas dans rcpthosts. D’ou le joli message d’erreur que tu as.

[quote]Certains des destinataires ou tous les destinataires n’ont pas reçu votre message.
Objet : Test de messagerie
Date : 22/12/2011 07:09
Impossible de contacter le(s) destinataire(s) suivant(s) :
'infos@bstiddsmurs.com’ le 22/12/2011 07:10
553 sorry, that domain isn’t in my list of allowed rcpthosts (#5.7.1)
[/quote]

Exemple du contenu rcpthost:

[quote]
free.fr
gmail.com
etc…[/quote]
qmail-smtpd refusera ici tout tes mails à destination d’une adresse extérieure au domaine. Dans notre cas, nous avons dans notre fichier rcpfthost que deux domaines : free.fr et gmail.com.
Il faut savoir que dans le cas ou tu n’as pas de rcpthosts, qmail-smtpd accepte tous.

rcpthosts est ignoré si la variable d’environnement RELAYCLIENT est positionnée. Auquel cas, qmail-smtpd ajoute son contenu à l’adresse de destination qui transitent par lui.

Merci Tux pour cette réponse rapide.

On est bien d’accord, donc, sur le fait que ces restrictions ne concernent que les emails sortant ?

Exemple : Si je n’ai pas placé le domaine toto.fr dans rcpthosts, je peux tout de même recevoir des messages de la part de titi@toto.fr ? Par contre bien sûr je ne peux rien lui envoyer, c’est bien çà aussi ?

Et au risque d’insister lourdement, je vais peut-être te faire répéter, car l’incidence de ton propos sur la gestion de mes mails est assez lourde :

J’ai environ 1000 correspondants, qui correspondent à 1000 domaines différents. Je dois TOUS les placer dans rcpthosts ? Sinon, les messages que je vais leur envoyer reviendront tous en erreur 55x, c’est bien cà ? :astonished:

Ce qui me surprend, c’est que j’ai déjà envoyé plusieurs centaines de mails à ces correspondants, depuis hier, et que je n’ai reçu que 5-6 erreurs 55x.

Tu comprends pourquoi ?

Merci pour tout et à bientôt.

Charles

Tu as commencé à “jouer” avec ton fichier rcpthosts depuis hier?( je parle bien évidement du fait de rajouter des domaines extrem.

[quote] Exemple : Si je n’ai pas placé le domaine toto.fr dans rcpthosts, je peux tout de même recevoir des messages de la part de titi@toto.fr ? Par contre bien sûr je ne peux rien lui envoyer, c’est bien çà aussi ?
[/quote].
C’est ça. L’envoie de tes mails seront bloqué, le control d’envoi sera effectué par rcpthosts et utilisé par qmail-smtpd.

Après concernant ta conf. afin de d’éviter de devoir rajouter tous tes domaine extern à la mano, tu peux essayer de faire :

127.0.0.1:allow,RELAYCLIENT="" ton_lan.:allow,RELAYCLIENT="" :allow

Il y a deux ip qui sont autorisées à sortir (envoyer)
La dernière ligne autorise n’importe quelle IP à envoyer des mails aux domaines que tu auras rajouté dans rcpthosts. ( A toi de voir pour faire une conf. qui répond la plus a tes besoins.)

Grace à ça, ça devrait t’aider.(Après je ne l’ai pas beaucoup manipulé…tiens nous jus :mrgreen:) Car je me comprend pas trop ( :whistle: ) [quote]Ce qui me surprend, c’est que j’ai déjà envoyé plusieurs centaines de mails à ces correspondants, depuis hier, et que je n’ai reçu que 5-6 erreurs 55x.

Tu comprends pourquoi ?
[/quote]

Merci Tux, pour ces précisions.

Je vais aller fouiller un peu sur la toile et je reviens pour partager mes trouvailles.

A très bientôt.

Charles

Juste une demande de précisions :

Les paramètres “allow,RELAYCLIENT=”", etc., je les place dans quel fichier et ce fichier est dans quel dossier ?

Je place l’IP fixe de mon serveur ? Puis celui du routeur de mon réseau local ? Puis “:allow” ? C’est tout ?

Merci…

Charles

NB. Ma config est la suivante :

Linux / DEBIAN
Version de Plesk Control Panel : psa v8.6.0_build86090811.11 os_Debian 4.0
Système d’exploitation : Linux 2.6.24-etchnhalf.1-amd64

Alors il me semble que de mémoire ce fichier de conf se trouve dans /etc/tcp.smtp.
Tu peux éventuellement, si je ne dit pas trop de conneries faire un find de ce fichier. Et voir si ce chemin est identique.

find / -name tcp.smtp.

Donc dans un 1er temps, la première address est celle de ta bécane, la deuxième est celle de ton retour, et le dernière allow n’est pas nécessaire.( SI je me souvient bien :017 ). Par précaution test à la fois avec est sans le dernier allow. Mais il me semble que c’est vraiment pas utile. Car si tu met ::allow ça va autoriser n’importe quelle address de son connecter au serveur, d’accord, MAIS les mails ne pourrons qu’être envoyé que si le rcpthosts possède des domaines extrem. Fichier qui me semble récurant vu le nombre de domaines qui tu as :unamused:

Ta mémoire est bonne, Tux !

Le fichier tcp.smtp doit bien se trouver dans le répertoire /etc. Mais il n’existe pas forcément et le cas échéant, il faut donc le créer.

Dans mon cas, il n’existait pas.

J’y ai placé le contenu suivant :

111.111.111.111:allow,RELAYCLIENT="“
222.222.222.222:allow,RELAYCLIENT=”"
:allow

La première adresse IP est l’IP fixe de mon serveur.

La deuxième IP est celle de mon routeur.

Avec ou sans “:allow”, le résultat est le même. Je n’arrive pas à trouver la différence à ce sujet. Qui pourrait nous renseigner ?

Donc si je résume, grâce à /etc/tcp.smtp associé à /var/qmail/rcpthosts, peux-tu me confirmer que :

1/ Je peux envoyer des mails à n’importe qui, à partir de mon poste en local (outlook, etc.) et à partir de mon serveur (formulaire en ligne, etc)
2/ Je n’ai plus besoin de déclarer free.fr, par exemple, dans rcpthosts, car je m’autorise tout dans tcp.smtp

Est-ce juste ?

Je me pose une dernière question et en fait, je te la pose :wink: :

Un client qui utilise mon serveur de messagerie et qui est bien entendu déclaré dans rcpthosts, ne pourra pas envoyer un mail à un destinataire de type @free.fr si free.fr n’est pas déclaré dans rcpthosts ? Car ce client ne bénéficie pas des règles que j’ai placé dans tcp.smtp. Est-ce exact ?

Je te remercie beaucoup pour toute ton attention.

A bientôt,

Charles

Basiquement, ton rctphosts sert pour les domaines dont ton serveur est la destination. Il accepte les messages car c’est à lui qu’ils sont destinés.

Pour l’envoi, il ne faut surtout pas mettre free.fr et compagnie dans rcpthosts. Sinon, un vilain spammeur pourra utiliser ton serveur comme relais pour spammer free.fr. Il faut donc mettre seulement les domaines pour lequel tu es la destination.

Pour que tes clients puissent envoyer des messages à destination des autres domaines, il faut qu’ils soient dans ton réseau autorisé (dans ton tcp.smtp), ou qu’ils puissent s’authentifier sur le serveur (je te laisse chercher comment faire ça avec qmail).

Tout a fait, tu dois le créer.

[quote]Avec ou sans “:allow”, le résultat est le même. Je n’arrive pas à trouver la différence à ce sujet. Qui pourrait nous renseigner ?[/quote] C’est à dire? ça marche avec/sans ou pas du tout?Car cette mention :allow veux dire que pour que toutes tes adresses soient autorisées à se connecter, par contre tu dois configurer minutieusement ton fichier rcpthosts.( Grosso-modo, si tu mentionnes cette “variable”, il fera automatiquement le lien vers ton fameux fichier rctphosts, que tu aimes tant :mrgreen:. Il permettra de contrôler le relayage de tous tes mails de la machine via SMTP.

C’est juste, par contre, il faut donc éviter le :allow dans ton rcpthosts. Dans ce cas présent qmail-smtpd utilisera ce fichier. Et donc si ton domain n’existe pas…tu connais la suite :whistle:

Par contre, pour que le “lien” puise se faire, la topologie serait plutôt:

/var/qmail/control/rcpthosts.
Mais dans le fond tu as bien compris le principe. Et étant donné que tu as pas mal de domaines externes, je ne le mettrai pas (le :allow). ( Après niveau sécu. tu dois être costaud, pour éviter que ton serveur de messgerie soit “blacklisté”.

Edit: Penses à faire un backp-up de tes fichiers de conf. :wink:
Edit1: le ficher qmail-smtpd est une sorte de relais qui te servais à redistribuer les mails vers d’autres serveurs.
Edit2:(hé ho ça va hein :laughing: ): penses à regarder les logs. Par défaut si n’a pas modifier ce fichier, ils se trouve dans:

/var/log/qmailsmtp/

Merci beaucoup, Tux !

Tout est bien clair maintenant.

Je vais virer la règle “:allow” et bien entendu, c’était une erreur de recopie, le fichier rcpthosts se trouve bien dans /var/qmail/control/.

Je vais tout sauvegarder, tu as raison, et je vais cliquer sur la petit coche verte.

Encore mille merci !

Charles

[quote=“kna”]Basiquement, ton rctphosts sert pour les domaines dont ton serveur est la destination. Il accepte les messages car c’est à lui qu’ils sont destinés.

Pour l’envoi, il ne faut surtout pas mettre free.fr et compagnie dans rcpthosts. Sinon, un vilain spammeur pourra utiliser ton serveur comme relais pour spammer free.fr. Il faut donc mettre seulement les domaines pour lequel tu es la destination.

Pour que tes clients puissent envoyer des messages à destination des autres domaines, il faut qu’ils soient dans ton réseau autorisé (dans ton tcp.smtp), ou qu’ils puissent s’authentifier sur le serveur (je te laisse chercher comment faire ça avec qmail).[/quote]

Je n’avais pas vu ton message kna ! Merci… J’ai donc virer les free et compagnie du rcpthosts et je cherche
comment faire pour déclarer mes clients dans le tcp.smtp

Encore merci…

Charles

Ha bah oui c’était pour l’exemple. Pour le domaine extern de tes destinataires, tu peux faire quelque du genre :

leur_domaine.fr leur_domaine.com etc...
Après en frontal de ton serveur tu as quoi comme solution?

Bonjour Tux !

Tu me parles de quoi ? Du firewall ?

Passes un très bon Noel !

A bientôt.

Charles

Héhé!

Yép, car le fait de faire :allow est un petit peut “bordeur”. Il faudrait que tu vois avec tes collègues pour adopter la meilleure solution (restriction d’ip ou autre…)
Mais je ne voudrais pas t’emmener sur une piste dont je maitrise fausse. C’est juste que je me méfie juste de cette de cette notation.

Ha j’avais pas vu que le sujet était “résolu”. Comment t’en es tu sortis ?