IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

serveur smtp


Sujet :

Réseau/Web Python

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 72
    Points
    72
    Par défaut serveur smtp
    Bonjour

    Je souhaite programmer en python un serveur smtp qui permet de recevoir un mail, effectuer des traitement sur celui-ci et ensuite le retransmer vers le serveur smtp de free par exemple.

    J'ai trouver des tuto pour le developpement de script qui permettent d'envoyer des mail mais rien en ce qui concerne le traitement de ceux ci par le serveur donc si c'est possible d'avoir quelque renseignement. A mon avis il faut utiliser les socket mais je sais pas trop comment cela foncionne.

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Jacques
    Inscrit en
    Mai 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Jacques

    Informations forums :
    Inscription : Mai 2002
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Serveur SMTP
    Regarde le script smtpd.py présent dans le répertoire /Lib

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 72
    Points
    72
    Par défaut
    Merci bien je vais regarder sa de plus pret et après je reviendrais en cas de problème

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 72
    Points
    72
    Par défaut
    Désolé mais je m'en sort pas trop en fait, j'ai essayer de trouvé des tuto sur cette classe mais j'ai rien trouvé si quelqu'un en a un ou pe m'expliquer vite fait les bases merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Bah il suffit que tu crée une classe qui hérite de SMTPServer dans laquelle tu surcharge la fonction process_message(peer, mailfrom, rcpttos, data)

    Ensuite pour le lancer, tu le fais de la même manière que dans le fichier smtpd.py (en utilisant ta nouvelle classe bien sur).

    J'avais fait un serveur smtp avec mais impossible de remettre la main dessus ... si je le retrouve jte l'envoie
    "There are two major products that come out of Berkeley: LSD and UNIX.
    We don't believe this to be a coincidence."
    - Jeremy S. Anderson

    La FAQ Python
    Les cours et tutoriels pour apprendre Python
    Le Forum Python

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 72
    Points
    72
    Par défaut
    merci beaucoup pour les renseignement je vais essayer

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/usr/bin/env python
     
    from smtpd import SMTPServer
    import asyncore
    import asynchat
     
     
    class mySMTP (SMTPServer):
        def process_message (self, peer, mailfrom, rcpttos, data):
            print "message recu : " + data
     
    if __name__ == "__main__":
        serv = mySMTP (("127.0.0.1", 8025), ())
        try:
            asyncore.loop ()
        except KeyboardInterrupt:
            pass
    Pour tester, tu te connecte en telnet sur 127.0.0.1 sur le port 8025. Apres c du smtp classique.

    Enjoy :p
    "There are two major products that come out of Berkeley: LSD and UNIX.
    We don't believe this to be a coincidence."
    - Jeremy S. Anderson

    La FAQ Python
    Les cours et tutoriels pour apprendre Python
    Le Forum Python

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 72
    Points
    72
    Par défaut
    merci beaucoup je vais pouvoir avancer ce week end mon boulot.

    J'ai quand meme vite fait une petite question

    la ce que l'on doit faire c'est surcharger cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    process_message (self, peer, mailfrom, rcpttos, data):
    pour que notre serveur traite notre mail comme on le souhaite, c'est bien cela?[/code]

  9. #9
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    pour envoyer des mails : smtplib
    pour recevoir des mails : poplib

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Citation Envoyé par Arnich
    merci beaucoup je vais pouvoir avancer ce week end mon boulot.

    J'ai quand meme vite fait une petite question

    la ce que l'on doit faire c'est surcharger cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    process_message (self, peer, mailfrom, rcpttos, data):
    pour que notre serveur traite notre mail comme on le souhaite, c'est bien cela?[/code]
    C'est ça. En fait l'exemple ne fait rien mis à part faire un print du message. Si tu veux le sauver dans un fichier, le faire suivre à un autre serveur etc., il faut le faire dans cette fonction. Tu as des exemples dans smtpd.py (class pureproxy et je ne sais pu ...) :o)
    "There are two major products that come out of Berkeley: LSD and UNIX.
    We don't believe this to be a coincidence."
    - Jeremy S. Anderson

    La FAQ Python
    Les cours et tutoriels pour apprendre Python
    Le Forum Python

Discussions similaires

  1. Comment tester serveur SMTP
    Par hoangeric dans le forum IIS
    Réponses: 8
    Dernier message: 31/12/2007, 13h33
  2. Réponses: 1
    Dernier message: 28/04/2006, 15h25
  3. [C++] Probleme de connexion socket client à mon serveur smtp
    Par matthieu5978 dans le forum Développement
    Réponses: 2
    Dernier message: 04/12/2005, 08h19
  4. Serveur SMTP
    Par LordBob dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 26/09/2005, 18h11
  5. Programmation d'un serveur SMTP en C
    Par mehdi1510 dans le forum Développement
    Réponses: 9
    Dernier message: 20/02/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo