[RH 9.0] Probleme envoi de mail sur certains serveurs

Probleme envoi de mail sur certains serveurs [RH 9.0] - Installation - Linux et OS Alternatifs

Marsh Posté le 22-06-2005 à 17:07:00    

Bonjour
Heureux detenteur d'un serveur tournant sur une Red Hat 9 je me retrouve avec un etrange probleme.
En effet lorsque j'envoies un mail (via la fonction mail dans un shell ou bien sous php) il arrive que le mail arrive sans problemes ou bien que le mail est rejete par le serveur distant
 apparement parcequ'il ne reconnait pas l'expediteur (qui est en l'occurence root@localhost!! Donc cela me parait normal).
Mon serveur n'a pas de nom de domaine reference cependant j'aimerais pouvoir envoyer des mails de partout sans ce genre de retours .
Est ce possible sachant que de toutes manieres je n'aurais jamais de nom reference et que mon serveur se trouve dans un workgroup , ce workgroup etant derriere un cisco a ip fixe (qui redirige les http entrants vers mon serveur).
 
Voila une partie du message d'erreur que je recois dans mes logs :

Code :
  1. ----- The following addresses had permanent fatal errors -----
  2. <toto@toto.com>
  3.     (reason: 550-Verification failed for <root@localhost.localdomain> )
  4.    ----- Transcript of session follows -----
  5. ... while talking to mail.toto.com.:
  6. >>> DATA
  7. <<< 550-Verification failed for <root@localhost.localdomain>
  8. <<< 550-unrouteable mail domain "localhost.localdomain"
  9. <<< 550 Sender verify failed
  10. 550 5.1.1 <toto@toto.com>... User unknown
  11. <<< 503 valid RCPT command must precede DATA
  12. --j5METC9Y025389.1119450552/localhost.localdomain
  13. Content-Type: message/delivery-status
  14. Reporting-MTA: dns; localhost.localdomain
  15. Received-From-MTA: DNS; localhost.localdomain
  16. Arrival-Date: Wed, 22 Jun 2005 16:29:09 +0200
  17. Final-Recipient: RFC822; toto@toto.com
  18. Action: failed
  19. Status: 5.1.1
  20. Remote-MTA: DNS; mail.toto.com
  21. Diagnostic-Code: SMTP; 550-Verification failed for <root@localhost.localdomain>
  22. Last-Attempt-Date: Wed, 22 Jun 2005 16:29:12 +0200


Message édité par betsamee le 22-06-2005 à 19:23:48
Reply

Marsh Posté le 22-06-2005 à 17:07:00   

Reply

Marsh Posté le 23-06-2005 à 08:27:12    

en gros pour simplifier la question:
est il possible d'anvoyer des mails depuis un shell linux (de partout) sans avoir de nom de domaine publie (en etant root@localhost) et si oui comment ?
(faut il modifier le resolv.conf et comment?)
Merci

Reply

Marsh Posté le 23-06-2005 à 08:56:39    

en fait le probleme vient du fait que certains serveurs mail verifient l'addresse expediteur mais je vois pas trop comment contourner ce probleme

Reply

Marsh Posté le 23-06-2005 à 09:06:56    

faire un mapping en sortie de ton serveur smtp.  
Pour mes mails sortant je réécrit les adresses et ca passe.
Lien pour postfix:
http://www.postfix.org/rewrite.html

Reply

Marsh Posté le 23-06-2005 à 09:15:29    

ok mais cela resoudra aussi le probleme lorsque je fais mon envoi depuis un script php?(et pas seulement avec la commande mail).
Merci beaucoup de ton aide
P.S:j'ai beau chercher depuis hier la solution a mon probleme je ne trouve que des changements de hostanme ou des trucs du style et j'ai un peu peur (je suis pas tres fortiche et l'on parle d'un serveur de production assez sensible) , ta solution me semble moins risquee (a mon niveau) maintenant je vais essayer de comprendre comment la mettre en oeuvre
Encore merci

Reply

Marsh Posté le 23-06-2005 à 09:42:25    

est ce que faire un truc de ce style dans le mail.conf aiderait?

Code :
  1. # SENDING MAIL
  2. #
  3. # The myorigin parameter specifies the domain that locally-posted
  4. # mail appears to come from. The default is to append $myhostname,
  5. # which is fine for small sites.  If you run a domain with multiple
  6. # machines, you should (1) change this to $mydomain and (2) set up
  7. # a domain-wide alias database that aliases each user to
  8. # user@that.users.mailhost.
  9. #
  10. #myorigin = $myhostname
  11. #myorigin = $mydomain
  12. myorigin = adressevalide@domainevalide.com


desole d'etre si lourd j'ai peur de faire une betise
d'autre part je me demande vraiment si php utilise postfix pour envoyer les mails etant donne que je retrouve exactement les memes problemes en utilisant mail de php et mail du shell


Message édité par betsamee le 23-06-2005 à 09:43:02
Reply

Marsh Posté le 23-06-2005 à 09:59:25    

en utilisant la commande mail d'un shell, il pipe ton mail dans une autre comande "sendmail" qui est juste là pour une histoire de compatibilité avec le réel sendmail. Cette commande envoit ensuite le mail a postfix qui est chargé de le distribué à l'utilisateur final.
 
pour php c'est pareil.
 
ta confugration ci dessus n'est pas bonne, il demande un nom de domain/machine, pas une adresse mail.
 
Si tu utilises postfix lit le lien que je t'ai filé

Reply

Marsh Posté le 23-06-2005 à 10:02:25    

ok , sendmail semble installe sur le serveur
j'ai beau lire la doc je n'arrive pas a etre sur  
et si je lui donne un nom de domaine , il faudra certainemnt que user@cedomaine.com existe pour que le mail soit accepte non?
 

Reply

Marsh Posté le 23-06-2005 à 10:26:02    

si tu utilise sendmail, tu peux jetter un oeil à ce topic : http://forum.hardware.fr/hardwaref [...] 0681-1.htm
 
J'ai fait ça pour un serveur qui emet beaucoup de mails.
Maintenant dans un shell, y'a pas besion d'autant. Simplement en utilisant une ligne de commande comme celle ci :
echo 'Test' | sendmail -s "Sujet du Mail" -f "turlututu@chapo.tu"  -F  "ShellTest" destinataire@domaine.org
 
et le tour est joué. Par contre je ne l'utilise pour des shells de controle en tant que root. Pas testé en mode utilisateur alors que le liens vers le topic fonctionne pour un grand nombre de cas ;)

Reply

Marsh Posté le 23-06-2005 à 10:31:57    

merci de ton aide mais le probleme c'est que je n'envoie des mails que depuis des scipts php (pour pouvoir envoyer des pj) il me semble donc devoir modifier dans la config du serveur de mail pour pouvoir changer cela
 

Reply

Marsh Posté le 23-06-2005 à 10:31:57   

Reply

Marsh Posté le 23-06-2005 à 10:46:08    

C'est postfix ou sendmail que tu as ?
 
Pour postfix:
http://x.guimard.free.fr/postfix/
http://x.guimard.free.fr/postfix/i [...] delivering
 
dans /etc/postfix/canonical j'ai mis ca

augure     mon_adresse_valide@truc.com


 
Et les mails de l'utilisateur augure sur cette machine sont mappés pour utiliser mon adresse valide.


Message édité par l0ky le 23-06-2005 à 10:46:55
Reply

Marsh Posté le 23-06-2005 à 10:58:21    

apparement c'est pas postfix qui tourne (bien que j'aie tous les fichiers postfix sur mon serveur) car apres la modif que tu m'indiques j'ai fait :

Code :
  1. [root@localhost ]# postfix reload


et j'ai eu :

Code :
  1. postfix/postfix-script: fatal: the Postfix mail system is not running

Reply

Marsh Posté le 23-06-2005 à 11:00:14    

j'ai lance postfix et ca a rien change (du moins quand j'envoies avec la fonction mail)

Reply

Marsh Posté le 23-06-2005 à 11:28:58    

j'ai trouve un moyen detourne de regler le probleme avec la classe Perl MIME::Lite
mais changer la configuration a la bas m'interesse toujours (c'est bien plus propre)

Reply

Marsh Posté le 23-06-2005 à 11:50:02    

betsamee a écrit :

merci de ton aide mais le probleme c'est que je n'envoie des mails que depuis des scipts php (pour pouvoir envoyer des pj) il me semble donc devoir modifier dans la config du serveur de mail pour pouvoir changer cela


 
 
En même temps y'a pas forcément besoin de php pour envoyer des pièces jointes [:spamafote]
un script bash avec uuencode ou base64 ça fonctione ;)
 
Au fait t'as postfix ou sendmail comme MTA ?
 
Si t'as pas de serveur relais avec un domaine connu, tu peux usurper une identitée pour passer certain contrôle ( domaine du sender doit exister) par contre tu rencontrera peut être des problemes averc les serveur de mail qui exigent un reverse DNS.
 
Bref si ton user (celui qui execute ton script php) a un alias connu au niveau du MTA ( cf mon 1er lien sur l'usurpation), il n'est pas impossible que ça fonctionne !

Reply

Marsh Posté le 23-06-2005 à 12:17:54    

apparement j'ai sendmail
le truc c'est qu'avec perl j'arrive a usurper un nom de dommaine sans trop de problemes

Reply

Marsh Posté le 23-06-2005 à 14:24:15    

http://www.sendmail.org/m4/masquerading_relaying.html
je sais pas si tu generes ton sendmail.cf a partir de sendmail.mc  
ou si tu bidouilles à la main le fichier de config
mais en tout cas:
ca devrait marcher avec la fonction masquerade tu dois pouvoir usurper un nom de domaine
par contre si tu es root et que tu veux pas que ca se voit faut faire un alias.
pareil y a une section sur sendmail.org
 
 
je te conseille aussi le site suivant qui explique bien comment config ton sendmail.  
http://www.labo-linux.org/index.ph [...] les&id=491

Reply

Marsh Posté le 23-06-2005 à 14:35:25    

merci je vais lire tout ca

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed