OVH Cloud OVH Cloud

gnus port 25

10 réponses
Avatar
Flatman
Ca y'est ... mon provider s'y est mis aussi :-( désormais le port 25 est
bloqué pour tout autre serveur mail :-(
dès lors se pose un problème dans gnus : comment puis-je faire que gnus
essaie plusieurs serveur avant d'abandonner ? vu que j'accède à internet
par plusieurs providers , je ne sais pas faire autrement :-(
ou alors y a-t-il un moyen de configurer le serveur smtp en fonction
d'une var qui indiquerait le provider utilisé ? et quelle serait cette
var ?

--
Erik

* Life is wonderful with Emacs and Perl *

10 réponses

Avatar
Sébastien Kirche
Le 28 octobre 2005 à 23:10, Flatman s'est exprimé ainsi :

Ca y'est ... mon provider s'y est mis aussi :-( désormais le port 25
est bloqué pour tout autre serveur mail :-(



Aïe. Mauvais FAI, changer FAI ?

dès lors se pose un
problème dans gnus : comment puis-je faire que gnus essaie plusieurs
serveur avant d'abandonner ? vu que j'accède à internet par plusieurs
providers , je ne sais pas faire autrement :-( ou alors y a-t-il un
moyen de configurer le serveur smtp en fonction d'une var qui
indiquerait le provider utilisé ? et quelle serait cette var ?



Je ne sais pas si il est possible de paramétrer un fallback_relay comme
avec postfix (j'utilise ça pour envoyer via mon fai les messages refusés
en provenance directe de mon propre serveur).

Cependant il est possible de paramétrer le serveur smtp de façon
conditionnelle comme je le fais sur mes différents postes.

Un truc du style
(cond
((string-match "`goudurix" system-name)
(setq smtpmail-smtp-server "172.16.8.31"))
((or (string-match "`zebigbos" system-name)
(string-match "`obelix" system-name))
(setq smtpmail-smtp-server "falbala"))
((equal system-name "idefix")
(setq smtpmail-smtp-server "smtp.free.fr"
;;smtpmail-auth-credentials '(("smtp.free.fr" 25 "sebastien.kirche" "xxxxxx"))
)))

Je ne sais pas trop comment tu pourrais déterminer la condition par
contre, là ce n'est pas une question de machine.

Tenter une connexion directe où passer par le fai en cas d'échec ? Peut
être aller du côté de /etc/resolv.conf ou une commande te permettant de
trouver le smtp (mx) de ton réseau, le dns en cours devrait pouvoir te
renseigner.

Peut-être qu'une genre de requête comme
nslookup query=mx `dnsdomainname` ? À creuser avec des gens plus calés
que moi en admin système. Remarque que chez moi nslookup se déclare
obsolète et à remplacer par host ou dig, mais je n'en sais pas plus.

HTH.
--
Sébastien Kirche
Avatar
Flatman
* Sébastien Kirche wrote:
|
| Je ne sais pas si il est possible de paramétrer un fallback_relay comme
| avec postfix (j'utilise ça pour envoyer via mon fai les messages refusés
| en provenance directe de mon propre serveur).

Bof , c'est pas vraiment ce que cherche ...

|
| Cependant il est possible de paramétrer le serveur smtp de façon
| conditionnelle comme je le fais sur mes différents postes.
|
|
| Je ne sais pas trop comment tu pourrais déterminer la condition par
| contre, là ce n'est pas une question de machine.
|
| Tenter une connexion directe où passer par le fai en cas d'échec ? Peut
| être aller du côté de /etc/resolv.conf ou une commande te permettant de
| trouver le smtp (mx) de ton réseau, le dns en cours devrait pouvoir te
| renseigner.
|
| Peut-être qu'une genre de requête comme
| nslookup query=mx `dnsdomainname` ? À creuser avec des gens plus calés
| que moi en admin système. Remarque que chez moi nslookup se déclare
| obsolète et à remplacer par host ou dig, mais je n'en sais pas plus.
|

Bon , j'ai réussi à faire que mon smtp change en fonction de ma
connection ...

Pour cela j'ai écris un script perl qui détecte la connection en
utilisant traceroute ...
ensuite je récupère cela dans emacs pour modifier la var
smtpmail-smtp-server

voici le script Perl :

===================================================================
#! /usr/bin/perl

use strict ;

open TRACE, "/usr/sbin/traceroute apple.com|" or die "can't fork : $!" ;

my $connection = "unknown" ;

LOOP: while (<TRACE>) {
if (m/edpnet/) {
# we are connected through edpnet
$connection = "edpnet" ;
last LOOP ;
} else {
if (m/fulladsl/) {
# we are connected through fulladsl
$connection = "fulladsl" ;
last LOOP ;
}
}
} ;

close TRACE ;

print ("Connected through $connection") ;

===================================================================
ce script je l'ai appelé isp.pl
l'avantage de faire cela en Perl c'est que Perl permet de faire courrir
le prog 'traceroute' tout en utilisant le output _pendant_ l'exécution
du script. Cela fait que dès que traceroute indique (dans mon cas) soit
"edpnet" , soit "fulladsl" , l'éxécution est arrêtée et le script Perl
terminé . Donc pas besoin d'aller jusque apple.com quoi ...

ensuite je fais ceci dans emacs

===================================================================
(defun my-set-smtp ()
"Sets the smtp server after checking the current isp connection"
(setq my-isp (shell-command-to-string "/Users/ec/DEVELOPMENT/perl-scripts/isp.pl"))
(cond
((string-match ".*Connected through edpnet.*" my-isp )
(setq smtpmail-smtp-server "smtp.edpnet.be"))
((string-match ".*Connected through fulladsl.*" my-isp )
(setq smtpmail-smtp-server "smtp.fulladsl.be"))))
(add-hook 'message-send-hook 'my-set-smtp)

===================================================================
voilà cela fonctionne chez moi ...

je voudrais néanmoins savoir si le script Perl pourrait être écrit en
EmacsLisp ? J'avais essayé avec (shell-command-to-string) ou un truc
comme cela , mais là Emacs se met à attendre que traceroute à
complètement terminé son truc et ça prend un temps dingue :-(


--
Erik

* Life is wonderful with Emacs and Perl *
Avatar
Eric Marsden
"sk" == Sébastien Kirche writes:
"ef" == Flatman writes:











sk> Aïe. Mauvais FAI, changer FAI ?

au contraire, si on regarde la quantité de pourriels qui proviennent
de machines en ADSL résidentiel (infectées par des virus etc.), je
pense que c'est un système qui devrait être généralisé. </hors-sujet>


sk> Tenter une connexion directe où passer par le fai en cas d'échec ? Peut
sk> être aller du côté de /etc/resolv.conf ou une commande te permettant de
sk> trouver le smtp (mx) de ton réseau, le dns en cours devrait pouvoir te
sk> renseigner.

le MX concerne le courriel entrant ; l'adresse à utiliser pour le
courriel sortant est souvent (chez les grands FAI) différente de
celle pour le courriel entrant.


ef> je voudrais néanmoins savoir si le script Perl pourrait être écrit en
ef> EmacsLisp ? J'avais essayé avec (shell-command-to-string) ou un truc
ef> comme cela , mais là Emacs se met à attendre que traceroute à
ef> complètement terminé son truc et ça prend un temps dingue :-(

le mécanisme des « process filter » intégré à Emacs permet de
traiter la sortie d'un programme externe de façon asynchrone (au fur
et mesure que le programme génère des résultats). Voici une
illustration:

(defun ecm-guess-network-process-filter (process output)
(cond ((string-match ".routers.proxad.net" output)
(setq smtpmail-smtp-server "smtp.free.fr")
(kill-buffer (process-buffer process))
(kill-process process))
((string-match ".cssi.renater.fr" output)
(setq smtpmail-smtp-server "mail.enseeiht.fr")
(kill-buffer (process-buffer process))
(kill-process process))))

(defun ecm-guess-network ()
(let* ((output (get-buffer-create " *traceroute*"))
(process (start-process "traceroute" output "traceroute" "www.apple.com")))
(set-process-filter process 'ecm-guess-network-process-filter)))

--
C-u 100 M-x hail-emacs
Avatar
Sébastien Kirche
Le 29 octobre 2005 à 12:10, Flatman s'est exprimé ainsi :

Bof , c'est pas vraiment ce que cherche ...



Ah? je crois que je n'ai pas compris la problématique, dans ce cas. Désolé.

--
Sébastien Kirche
Avatar
Sébastien Kirche
Le 29 octobre 2005 à 16:10, Eric Marsden s'est exprimé ainsi :

sk> Aïe. Mauvais FAI, changer FAI ?

au contraire, si on regarde la quantité de pourriels qui proviennent
de machines en ADSL résidentiel (infectées par des virus etc.), je
pense que c'est un système qui devrait être généralisé. </hors-sujet>



Bof. J'ai eu ce comportement quand j'étais abonné télé2 et c'est la
plaie, surtout quand le provider est bas de gamme, avec un smtp
configuré avec les pieds, et que la seule porte de sortie met plusieurs
heures voir plusieurs jours (!) pour acheminer des courriers.

Une solution simple serait de fournir le service smtp et de bloquer *par
défaut* le port smtp sortant vers ailleurs que le serveur du fournisseur
mais de pouvoir l'ouvrir *sur demande*. Àma, un client qui est capable
de formuler cette demande (soit sans doute moins de 1% de la clientèle)
est capable d'avoir un smtp qui ne soit pas un relais ouvert, ni un nid
à virus.


[...]

ef> je voudrais néanmoins savoir si le script Perl pourrait être écrit
ef> en EmacsLisp ? J'avais essayé avec (shell-command-to-string) ou un
ef> truc comme cela , mais là Emacs se met à attendre que traceroute à
ef> complètement terminé son truc et ça prend un temps dingue :-(

le mécanisme des « process filter » intégré à Emacs permet de
traiter la sortie d'un programme externe de façon asynchrone (au fur
et mesure que le programme génère des résultats). Voici une
illustration:

(defun ecm-guess-network-process-filter (process output)
(cond ((string-match ".routers.proxad.net" output)
(setq smtpmail-smtp-server "smtp.free.fr")
(kill-buffer (process-buffer process))
(kill-process process))
((string-match ".cssi.renater.fr" output)
(setq smtpmail-smtp-server "mail.enseeiht.fr")
(kill-buffer (process-buffer process))
(kill-process process))))

(defun ecm-guess-network () (let* ((output (get-buffer-create "
*traceroute*")) (process (start-process "traceroute" output
"traceroute" "www.apple.com"))) (set-process-filter process
'ecm-guess-network-process-filter)))



Intéressante démonstration.

--
Sébastien Kirche
Avatar
Patrice Karatchentzeff
Sébastien Kirche writes:

[...]

Une solution simple serait de fournir le service smtp et de bloquer *par
défaut* le port smtp sortant vers ailleurs que le serveur du fournisseur
mais de pouvoir l'ouvrir *sur demande*. Àma, un client qui est capable
de formuler cette demande (soit sans doute moins de 1% de la clientèle)
est capable d'avoir un smtp qui ne soit pas un relais ouvert, ni un nid
à virus.



Quand bien même... il suffit alors de les monitorer un peu et de les
fermer sans préavis au cas où l'admin amateur ne serait pas à la
hauteur... la méthode me plaît bien.

Mais cela suppose quand même une bonne équipe côté FAI et je ne suis
pas persuadé qu'ils en aient tous une :)

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       
Avatar
Erwan David
Eric Marsden écrivait :

"sk" == Sébastien Kirche writes:
"ef" == Flatman writes:











sk> Aïe. Mauvais FAI, changer FAI ?

au contraire, si on regarde la quantité de pourriels qui proviennent
de machines en ADSL résidentiel (infectées par des virus etc.), je
pense que c'est un système qui devrait être généralisé. </hors-sujet>



N'importe quoi, tu fais quoi des boites sur xDSL ? Le problème est
dans les merdes zombifiées, toutes sous OS microsoft. Une solution
nettement plus efficace serait d'interdire de se conencter à internet
depuis un windows.

--
Si vous embauchez, voici mon CV
http://www.rail.eu.org/cv/cv.pdf
Avatar
drkm
Erwan David writes:

N'importe quoi, tu fais quoi des boites sur xDSL ? Le problème est
dans les merdes zombifiées, toutes sous OS microsoft. Une solution
nettement plus efficace serait d'interdire de se conencter à internet
depuis un windows.



Efficace pour se saborder, oui.

--drkm
Avatar
Sébastien Kirche
Le 29 octobre 2005 à 18:10, Patrice Karatchentzeff vraute :

Quand bien même... il suffit alors de les monitorer un peu et de les
fermer sans préavis au cas où l'admin amateur ne serait pas à la
hauteur... la méthode me plaît bien.

Mais cela suppose quand même une bonne équipe côté FAI et je ne suis
pas persuadé qu'ils en aient tous une :)



Ouaip. Du côté grand public, c'est soit on coupe tout (e.g. tele2) soit
on laisse tout ouvert (e.g. free - heureusement pour moi - ou wanadoo)
avec les risques de dérapages qu'on connaît.

D'un autre côté, pour ceux qui laissent les vannes ouvertes, il faut
aussi que le service abuse existe et soit réactif. Et pour ce que je
vois de fr.usenet.abus.d ben c'est pas évident.

C'est comme pour beaucoup de choses : la solution est peut-être du côté
de structures plus petites (Nerim ? ou un fournisseur xDSL communautaire
dont le nom m'échappe) avec une vraie réactivité envers les clients et
un vrai service.

--
Sébastien Kirche - admin amateur ;o)
Avatar
Erwan David
drkm écrivait :

Erwan David writes:

N'importe quoi, tu fais quoi des boites sur xDSL ? Le problème est
dans les merdes zombifiées, toutes sous OS microsoft. Une solution
nettement plus efficace serait d'interdire de se conencter à internet
depuis un windows.



Efficace pour se saborder, oui.



Mais nettement plus efficace contre les spams, parceque les virus et
troyens qui servent aux spameurs sont tout à fait capables d'utiliser
le relais défini pour OE. Bref fermer le port 25 ne servira à *rein*
qu'à emmerder ceux qui ont leur propre srveur.

--
Si vous embauchez, voici mon CV
http://www.rail.eu.org/cv/cv.pdf