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 :

Script envoyant des emails [Sources]


Sujet :

Réseau/Web Python

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1
    Par défaut Script envoyant des emails
    Bonjour je recherche un script python qui me permettrait d'envoyer des emails. J'ai deja essayé le script Imailer disponible sur
    http://nojhan.free.fr/article.php3?id_article=22

    Mais je n'arrive pas à le faire fonctionner.
    Je développe actuellement sur une machine windows.


    Merci

  2. #2
    vux
    vux est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 26
    Par défaut
    Salut,

    python propose par defaut la librairie smtplib, qui permet d'envoyer des emails.

    Hop et voilà l'adresse sur la doc 8)

    http://www.python.org/doc/2.3.3/lib/module-smtplib.html

    @+
    vux

  3. #3
    Membre actif
    Inscrit en
    Mars 2002
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 129
    Par défaut
    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
    import string,smtplib
     
    def send_email (recipients, body):
        if type(recipients) not in (type(()), type([])):
          recipients = (recipients,)
        fromaddr = 'herbert@fritkot.be'
        to_list = string.join(recipients, ', ')
        subject = '[Python-Niouzes]'
        message = """\
    From: <%(fromaddr)s>
    To: %(to_list)s
    Subject: %(subject)s
    Reply-To: %(fromaddr)s
    X-Mailer: Python smtplib
     
    %(body)s
    """
        mail = smtplib.SMTP("smtp.xxxxxxxxxx.be")
        mail.sendmail(fromaddr, recipients, message % locals())
        mail.quit()
     
    #---------------------------------------------------------------------------------------------
    message="""Bonjour je recherche un script python qui me permettrait d'envoyer des emails. J'ai deja essayé le script Imailer disponible sur
    http://nojhan.free.fr/article.php3?id_article=22
     
    Mais je n'arrive pas à le faire fonctionner.
    Je développe actuellement sur une machine windows. 
    """
    dest=['bea@fritkot.com','herve@fritkot.net']
    send_email(dest,message)
    Voilà un exemple avec le header correct

  4. #4
    Candidat au Club
    Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Par défaut Re: Script envoyant des emails
    Citation Envoyé par pl14
    J'ai deja essayé le script Imailer disponible sur
    http://nojhan.free.fr/article.php3?id_article=22
    Mais je n'arrive pas à le faire fonctionner.
    J'ai corrigé le script qui avait en effet qq bugs (il commence à dater ceci dit), normalement la version en ligne devrait mieux fonctionner.

    Il faudra peut être éditer le script pour remplacer "/tmp/" par l'équivalent sous windows (que je ne connais pas).

    En tout cas chez moi ça marche avec les pièces jointes.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Par défaut Re: Script envoyant des emails
    salut,
    Citation Envoyé par nojhan
    Il faudra peut être éditer le script pour remplacer "/tmp/" par l'équivalent sous windows (que je ne connais pas).
    il vaut mieux utiliser le module tempfile qui génère des fichiers temporaires sur toutes les plates-formes supportées.

  6. #6
    Candidat au Club
    Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Par défaut Re: Script envoyant des emails
    Citation Envoyé par naxelas
    il vaut mieux utiliser le module tempfile qui génère des fichiers temporaires sur toutes les plates-formes supportées.
    C'est dans le TODO (cf. la page)... si qqun veut se dévouer, c'est sous GPL donc il n'y a plus qu'a...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Par défaut
    Bonjour à tous,
    Petit nouveau ici,je suis interressé par l'envoi de mail via python
    J'ai donc Récupéré le code cité plus haut :
    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
    import string,smtplib 
     
    def send_email (recipients, body): 
        if type(recipients) not in (type(()), type([])): 
          recipients = (recipients,) 
        fromaddr = 'toto@9online.fr' 
        to_list = string.join(recipients, ', ') 
        subject = '[Python-Niouzes]' 
        message = """\ 
    From: <%(fromaddr)s>
    To: %(to_list)s 
    Subject: %(subject)s 
    Reply-To: %(fromaddr)s 
    X-Mailer: Python smtplib 
     
    %(body)s 
    """    
        mail = smtplib.SMTP("smtp.9online.fr",25)
        mail.set_debuglevel(1) 
        mail.sendmail(fromaddr, recipients, message % locals()) 
        mail.quit()
     
     
    message="""Bonjour je recherche un script python qui me permettrait d'envoyer des emails. J'ai deja essayé le script Imailer disponible sur 
    http://nojhan.free.fr/article.php3?id_article=22 
     
    Mais je n'arrive pas à le faire fonctionner. 
    Je développe actuellement sur une machine windows. 
    """ 
    dest=['toto@9online.fr'] 
    send_email(dest,message)
    Lorsque je lance le code, j'ai le message suivant :
    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
    send: 'mail FROM:<toto@9online.fr>\r\n'
    reply: '250 Ok\r\n'
    reply: retcode (250); Msg: Ok
    send: 'rcpt TO:<toto@9online.fr>\r\n'
    reply: '250 Ok\r\n'
    reply: retcode (250); Msg: Ok
    send: 'data\r\n'
    reply: '354 Enter mail, end with "." on a line by itself\r\n'
    reply: retcode (354); Msg: Enter mail, end with "." on a line by itself
    data: (354, 'Enter mail, end with "." on a line by itself')
    send: "\\ \r\nFrom: <toto@9online.fr>\r\nTo: toto@9online.fr \r\nSubject: [Python-Niouzes] \r\nReply-To: toto@9online.fr \r\nX-Mailer: Python smtplib \r\n\r\nBonjour je recherche un script python qui me permettrait d'envoyer des emails. J'ai deja essay\xe9 le script Imailer disponible sur \r\nhttp://nojhan.free.fr/article.php3?id_article=22 \r\n\r\nMais je n'arrive pas \xe0 le faire fonctionner. \r\nJe d\xe9veloppe actuellement sur une machine windows. \r\n \r\n.\r\n"
    reply: '250 Ok: queued as 1D67214B810\r\n'
    reply: retcode (250); Msg: Ok: queued as 1D67214B810
    data: (250, 'Ok: queued as 1D67214B810')
    send: 'quit\r\n'
    reply: '221 Bye\r\n'
    reply: retcode (221); Msg: Bye
    En remplacant bien sur "toto" par le prefixe de mon adresse email.

    Ce message semble vouloir dire que mon mail est bien parti, mais rien n'arrive.

    Quelqu'un saurait t'il ou je m'y prend mal.

    Je precise, que je lance ce script depuis windows.

    Merki
    @+

  8. #8
    Membre actif
    Inscrit en
    Mars 2002
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 129
    Par défaut
    Une piste, la politique antispam de ton fournisseur si ton adresse 'from' n'existe pas.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Par défaut
    Salut
    En fait j'ai recu mon mail, mais 1h plus tard.
    Alors que quand je l'envoie depuis mon client mail, c'est instantanné.
    Peut etre un probleme de header ?


    Edit: j'ai comparé les entetes d'un mail envoyé avec la smtplib et avex Mon client (foxmail) et la différence principale est qu'apparement, foxmail "envoi" en ESMTP (et pas SMTP) vu la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     by huva.hittite.isp.9tel.net (Postfix) with ESMTP id E3B03169
    Je ne connais pas la différence.
    Pensez vous que ca ait une influence ?

    Merci en tout cas

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Par défaut
    Bon, finalement le probleme venait du serveur smtp.

    j'ai essayé avec un autre et ca passe sans probleme .

    Donc dsl pour le derangement
    @+

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 17
    Par défaut
    Bonjour,
    moi j'ai un petit soucis avec ce script...
    il envoi correctement le mail...dans le corps du mail le "TO:" est correcte mais dans la lecture de l'entete il me mets "TO:undisclosed-recipients:" ...
    donc il envoi a la bonne adresse mais dans le mail ca fait pas jolie a cause de ca...quelqu'un serait il d'ou ca provient ?

    Abi

Discussions similaires

  1. [Mail] Impossible d'envoyer des emails
    Par Teufboy dans le forum Langage
    Réponses: 2
    Dernier message: 29/06/2007, 09h42
  2. Comment envoyer des email vers lotus notes?
    Par WASFI dans le forum Access
    Réponses: 4
    Dernier message: 21/01/2007, 13h48
  3. Envoyer des email avec PHP
    Par dolf13 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 12/07/2006, 10h49
  4. Réponses: 4
    Dernier message: 29/09/2005, 18h29

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