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

Python Discussion :

Quel serveur mail pour site en localhost


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Par défaut Quel serveur mail pour site en localhost
    Bonjour,

    Je suis plus ou moins novice en python. Je travaille sur un projet avec django et j'ai besoin d'envoyer un code par mail après une inscription.
    Mais le server mail smtp me bloque complètement car je n'ai pas encore vraiment de connaissance sur le sujet or que c'est plus ou moins urgent à cause de la livraison de ce projet. C'est pourquoi je demande un renfort.
    1) Avec ce code, j'ai un [WinError 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     msg = MIMEText('This is the body of the message.')
            msg['To'] = email.utils.formataddr(('Recipient', 'ralim@gmail.com'))
            msg['From'] = email.utils.formataddr(('Author', 'ralim@gmail.com'))
            msg['Subject'] = 'Simple test message'
     
            server = smtplib.SMTP('127.0.0.1', 1025)
            server.set_debuglevel(True) # show communication with the server
            try:
                server.sendmail('ralim@gmail.com', ['ralim@gmail.com'], msg.as_string())
            finally:
                server.quit()
    2) Si je n'envoi pas de mail, je voudrais vérifier simplement si le mail existe
    Mai de nouveau avec ce code, j'ai un Timeout
    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
    18
    19
    20
    21
    22
    addressToVerify = mail1
            match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', addressToVerify)
            if match == None:
                raise ValueError('Bad Syntax')
                return HttpResponseRedirect('inscription')
            records = dns.resolver.query('egd.ca', 'MX')
            mxRecord = records[0].exchange
            mxRecord = str(mxRecord)
            # Get local server hostname
            host = socket.gethostname()
            # SMTP lib setup (use debug level for full output)
            server = smtplib.SMTP()
            server.set_debuglevel(0)
            # SMTP Conversation
            server.connect(mxRecord)
            server.helo(host)
            server.mail('mail@example.com')
            code, message = server.rcpt(str(addressToVerify))
            server.quit()
            # Assume 250 as Success
            if not code == 250:
                return HttpResponseRedirect('inscription')
    Et je sais que c'est le serveur mail le problème mais je tâtonne.
    Merci d'avance de votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Salut,

    Le serveur mail est la chose à laquelle se connecte le client SMTP en donnant une adresse IP et un n° de port.
    Vous pouvez le tester avec telnet (faire une recherche sur Internet pour voir comment) avant d'essayer de l'utiliser avec le client Python.

    Pour le reste, pas facile de vous aider... C'est comme si vous voulez ouvrir un fichier sans en connaître le nom ou l'emplacement. On sait qu'il faut utiliser "open" mais quant à savoir quelle chaîne de caractères passer...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Par défaut
    Merci de votre réponse.

    Pour plus de précision, sur le code1, je ne sais pas quoi mettre dans server = smtplib.SMTP('127.0.0.1', 1025) à la place de '127.0.0.1', 1025)
    et pour le code2 c'est ce qui est à mettre dans server.mail('mail@example.com') à la place de mail@example.com
    le reste du code je comprends puisque j'ai déjà suivis plusieurs tutos, dont https://www.scottbrady91.com/Email-V...ication-Script.
    Comme je l'ai mis dans mon premier post, c'est vraiment le serveur mail qui m'échappe.

    J'ai vu qu'il y avait des serveurs mails gratuits comme https://serversmtp.com/en/signup mais pour y avoir accès, il me faut disposer d'un mail du genre monmail@mondomaine.com alors que je n'ai pas de domaine pur le moment, je travaille sur localhost.

    Je vais approfondir sur le sujet telnet car j'ai vu ça dans ces tutos.
    Ne m'en veuillez pas car les explications ne sont pas vraiment pour les novices dans laplupart.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Citation Envoyé par sipatsymasaka Voir le message
    J'ai vu qu'il y avait des serveurs mails gratuits comme https://serversmtp.com/en/signup mais pour y avoir accès, il me faut disposer d'un mail du genre monmail@mondomaine.com alors que je n'ai pas de domaine pur le moment, je travaille sur localhost.
    Si vous n'avez pas installé de serveur mail (smtp) en local, çà ne va pas le faire.
    Ceci dit vous pourriez vous créer un compte sur gmail (c'est gratuit) et utiliser le serveur SMTP de Google (il y a des exemples de code qui trainent sur Internet).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Si vous n'avez pas installé de serveur mail (smtp) en local, çà ne va pas le faire.
    J'ai créé mon smtp avec ce code,
    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
    import smtpd
    import asyncore
     
    class CustomSMTPServer(smtpd.SMTPServer):
     
        def process_message(self, peer, mailfrom, rcpttos, data):
            print 'Receiving message from:', peer
            print 'Message addressed from:', mailfrom
            print 'Message addressed to  :', rcpttos
            print 'Message length        :', len(data)
            return
     
    server = CustomSMTPServer(('127.0.0.1', 1025), None)
     
    asyncore.loop()
    Puis je lance ce programme avant de lancer le code1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        msg = MIMEText('This is the body of the message.')
        msg['To'] = email.utils.formataddr(('Recipient', 'rali@gmail.com'))
        msg['From'] = email.utils.formataddr(('Author', 'rali@gmail.com'))
        msg['Subject'] = 'Simple test message'
     
        server = smtplib.SMTP('127.0.0.1', 1025)
        server.set_debuglevel(True) # show communication with the server
        try:
            server.sendmail('rali@gmail.com', ['rali@gmail.com'], msg.as_string())
        finally:
            server.quit()
    j'ai bien les print dans le shell correspondant à mon SMTP local mais je ne reçois pas le mail sur ma messagerie.
    qu'est-ce que j'ai manqué?

    Merci pour le aides et pour la suite!

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Citation Envoyé par sipatsymasaka Voir le message
    j'ai bien les print dans le shell correspondant à mon SMTP local mais je ne reçois pas le mail sur ma messagerie.
    qu'est-ce que j'ai manqué?
    Et vous avez écrit quoi comme code pour que le daemon se dise "ah... çà c'est à forwarder à???".
    C'est pas magique! Et comme çà fait plus de 40 ans que SMTP existe vous avez une foison de tutos, documentations à lire pour comprendre comment tout çà fonctionne avant de coder....

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MAIL] Comment configurer un serveur mail pour un site web
    Par lavazavio dans le forum Administration système
    Réponses: 3
    Dernier message: 01/02/2012, 09h51
  2. POSTFIX - serveur smtp pour sites et mails en spam
    Par lavazavio dans le forum Administration système
    Réponses: 1
    Dernier message: 20/10/2010, 15h18
  3. serveur mail pour une newsletter
    Par lau_the_raptor dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 09/10/2006, 14h04
  4. Réponses: 6
    Dernier message: 17/08/2006, 11h11
  5. Quel serveur choisir pour un entrepôt de donnée??
    Par alpachico dans le forum Décisions SGBD
    Réponses: 18
    Dernier message: 01/08/2005, 15h39

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