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 :

Envoi d'email en Python


Sujet :

Réseau/Web Python

  1. #1
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut Envoi d'email en Python
    Bonjour à Tous,

    J'ai déjà fait un petit peu(vraiment en peu) de python et donc ayant besoin
    d'un petit programme je me tourne vers le python.

    J'ai trouvé ce code sur internet(pour l'envoi d'un mail) :

    # -*- coding: utf-8 -*-
    # la lib smtp qui nous permet de dialoguer avec un serveur de mail
    import smtplib

    # un message email de type text
    from email.MIMEText import MIMEText

    def send(mfrom,mto):
    email = MIMEText('Bonjour !') # objet Message contenant du text/plain
    email['From']=mfrom # headers du mail : from/to/subject
    email['To']=mto
    email['Subject']='Bonjour !'

    server = smtplib.SMTP('localhost') # objet serveur
    server.sendmail(mfrom, # on lui envoi notre mail
    mto,
    email.as_string())
    server.quit() # on ferme la connection

    if __name__ == '__main__':
    send('expediteur@example.com',
    'destinataire@example.com')
    Mais là dedans, je ne vois pas quesqu'il faut remplacer par l'adresse du destinataire et l'adresse de l'expediteur, peut etre c'est ce que j'ai marqué en rouge

    Merci pour m'éclairer.

    Je dois en fait réaliser un programme qui fais trois demandes à l'utilisateur, qui dois enregistrer ces demandes et les envoyers dans le mail.

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par ArHacKnIdE
    Bonjour à Tous,

    J'ai déjà fait un petit peu(vraiment en peu) de python et donc ayant besoin
    d'un petit programme je me tourne vers le python.

    J'ai trouvé ce code sur internet(pour l'envoi d'un mail) :



    Mais là dedans, je ne vois pas quesqu'il faut remplacer par l'adresse du destinataire et l'adresse de l'expediteur, peut etre c'est ce que j'ai marqué en rouge

    Merci pour m'éclairer.

    Je dois en fait réaliser un programme qui fais trois demandes à l'utilisateur, qui dois enregistrer ces demandes et les envoyers dans le mail.

    Merci

    mfrom correspond à l'expéditeur, en l'occurence toi
    mto correspond au destinataire

  3. #3
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci donc je remplace ça mais j'ai toujours des erreurs, comment rendre ce code opérationnel ?

    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Voici le script que j'ai écrit pour envoyer des mails avec le contenu d'un fichier de log :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    #!/usr/bin/python
     
    ### This script send the content of the logfile
     
     
     
    import smtplib
    import os
    import sys
    from email.MIMEText import MIMEText
    def sendTextMail(text):
    	fromaddr = "Moi <monadresse@mondedomaine.com>"
    	liste_destinataires=['monchef@mondedomaine.com']
        	mail = MIMEText(text)
        	mail['From'] = fromaddr
        	mail['Subject'] = "BUILDAUTO"
        	smtp = smtplib.SMTP()
        	smtp.connect()
        	for d in liste_destinataires:
        		smtp.sendmail(fromaddr,d,mail.as_string())
        	smtp.close()
     
     
    def main():
    	logfile = sys.argv[1]
    	f=open(logfile, "r")
    	corps = """\
    Hello,
            
    That is the result of the engine compilation 
            
    """
    	for i in f:
    		corps+=i
     
    	corps+="""\
            
     PS : Please do not respond
    """
     
    	f.close()
    	sendTextMail(corps)
     
     
    if __name__ == '__main__':
    	main()

  5. #5
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci beaucoup donc je met ce code dans un fichier mail.py, je le lance :

    python mail.py
    Et j'ai une erreur :

    File "mail.py", line 10, in ?
    from email.MIMEText import MIMEText
    ImportError:No module named email.MIMEText
    Encore Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    tu es en quelle version de python?

    Sous unix ou windows?

  7. #7
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    C'est sous UNIX, c'est la version 2.1.3

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Sur python.org

    le module email :
    12.2 email -- An email and MIME handling package

    New in version 2.2.

    tu peux passer en version supérieure ou pas?

  9. #9
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Nan

    Merci si vous avez une solution pour envoyer des mails avec ma version

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    ce que tu peux faire c'est ça :

    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
     
    import smtplib
    import os
    import sys
    def sendTextMail():
    	fromaddr = "toto@toto.fr"
            mto ="tonadressemail"
    	smtp = smtplib.SMTP()
        	smtp.connect()
        	smtp.sendmail(fromaddr,mto,"le contenu de ton mail")
        	smtp.close()
     
     
    def main():
    	sendTextMail()
     
     
    if __name__ == '__main__':
    	main()

  11. #11
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci, mais toujours erreur

    Traceback (most recent call last):
    File "mail2.py", line 18, in ?
    main()
    File "mail2.py", line 14, in main
    sendTextMail()
    File "mail2.py", line 8, in sendTextMail
    smtp.connect()
    File "/usr/local/lib/python2.1/smtplib.py", line 222, in connect
    self.sock.connect((host, port))
    socket.error: (61, 'Connection refused')
    Encore Merci

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Ok, ça veut dire qu'il ne trouve pas de serveur SMTP sur ton ordinateur.

    essaye d'installer smtp et relance la code!

  13. #13
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    C'est pas sur mon ordinateur, c'est un shell UNIX sur internet

    Donc je peux pas y remédier

    Mais j'ai trouvé une solution alternative : écrire dans un fichier

    J'explique, l'utilisateur devra remplir trois champs, qui doivent s'enregistrer dans le fichier texte qu'il faudra que j'aille cueillir

    Comment réaliser ça, 3 prompts et leurs enregistrements dans un .txt ?

    Merci

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    avec la commande raw_input()

    maislà je te laisse chercher un peu!

  15. #15
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Alors, j'ai trouvé ça :

    file = open('save.txt','w')
    file.write(nom)
    file.write('/')
    file.write(prenom)
    file.write('/')
    file.write(ville)
    file.close()
    Mais ce que je ne trouve pas, c'est de faire des zones de saisies(prompt ) pour l'utilisateur

    Avec des variables nom, prenom et ville.

    Merci

  16. #16
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Ensuite j'ai trouvé ça :

    nom = string(raw_input("Nom : "))
    Mais je ne sait pas si c'est correct

  17. #17
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Youpi, yop !

    #!/usr/bin/python

    nom = raw_input("Nom : ")

    prenom = raw_input("preNom : ")

    ville = raw_input("Ville : ")

    file = open('save.txt','w')
    file.write(nom)
    file.write('/')
    file.write(prenom)
    file.write('/')
    file.write(ville)
    file.close()
    Ca marche et je vais, pour le reste, essayer de me débrouiller

    Encore Merci

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

Discussions similaires

  1. Envoie d'email avec le TIdSMTP + TGauge
    Par Teufa dans le forum Web & réseau
    Réponses: 5
    Dernier message: 10/08/2005, 14h23
  2. [C#] Envoi d'email
    Par BiM dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/04/2005, 12h47
  3. Envoie de EMail avec un formulaire
    Par LibrairieSI dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/02/2005, 14h31
  4. envoie d'email a partir d'asp
    Par sheira dans le forum ASP
    Réponses: 5
    Dernier message: 07/12/2004, 16h14
  5. envoie d'email
    Par ZZ dans le forum ASP
    Réponses: 8
    Dernier message: 16/12/2003, 10h53

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